CN111639008B - File system state monitoring method and device based on dual-port SSD and electronic equipment - Google Patents

File system state monitoring method and device based on dual-port SSD and electronic equipment Download PDF

Info

Publication number
CN111639008B
CN111639008B CN202010478124.6A CN202010478124A CN111639008B CN 111639008 B CN111639008 B CN 111639008B CN 202010478124 A CN202010478124 A CN 202010478124A CN 111639008 B CN111639008 B CN 111639008B
Authority
CN
China
Prior art keywords
dual
state
port ssd
ssd
data
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.)
Active
Application number
CN202010478124.6A
Other languages
Chinese (zh)
Other versions
CN111639008A (en
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.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System 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 Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN202010478124.6A priority Critical patent/CN111639008B/en
Publication of CN111639008A publication Critical patent/CN111639008A/en
Application granted granted Critical
Publication of CN111639008B publication Critical patent/CN111639008B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The application provides a file system state monitoring method and device based on dual-port SSD and electronic equipment, wherein the method comprises the following steps: the state of the dual-port SSD is monitored through the connection between the node and the dual-port SSD; and when the state of the first target dual-port SSD is detected to be the offline state or the abnormal state, performing abnormal processing aiming at the first target dual-port SSD. The method can improve the efficiency of the management node for acquiring the state of the SSD and improve the timeliness of exception handling.

Description

File system state monitoring method and device based on dual-port SSD and electronic equipment
Technical Field
The present application relates to data storage technologies, and in particular, to a method and an apparatus for monitoring a file system state based on dual-port SSD, and an electronic device.
Background
A file system is a method and data structure used by an operating system to explicitly store files on a node, i.e., a method of organizing files on a storage node.
SSD (Solid State Drives, solid state disk) is a hard disk made of a solid state electronic memory chip array, and uses NAND FLASH as a storage medium.
The minimum unit of data read/write by the SSD is a page (page), the minimum unit of erase is a block (block), and one block may include a plurality of pages.
With the application and popularization of SSDs, a file system based on SSDs becomes a popular research direction, but the traditional file system cannot adapt to the page size of SSDs, data cannot be read and written according to the page size, so that more read-write penalty exists in the data writing process, and the data reading and writing efficiency is poor.
Currently, for a file system implemented based on an SSD, a management node needs to manage the SSD through a storage node, and obtain a state of the SSD through interaction with the storage node.
For example, when an SSD goes offline or is abnormal, the management node needs to interact with the storage node to learn that the implementation efficiency is low.
Disclosure of Invention
In view of the above, the present application provides a method, an apparatus and an electronic device for monitoring a file system state based on a dual-port SSD.
Specifically, the application is realized by the following technical scheme:
according to a first aspect of an embodiment of the present application, a dual-port SSD-based file system state monitoring method is provided, and is applied to a management node in a data processing system, where the data processing system further includes a storage node, and a dual-port SSD-based file system, where the storage node and the management node are respectively connected to the dual-port SSD, and the method includes:
The state of the dual-port SSD is monitored through the connection between the node and the dual-port SSD;
and when the state of the first target dual-port SSD is detected to be the offline state or the abnormal state, performing abnormal processing aiming at the first target dual-port SSD.
According to a second aspect of an embodiment of the present application, there is provided a dual-port SSD-based file system status monitoring device, applied to a management node in a data processing system, where the data processing system further includes a storage node, and a dual-port SSD-based file system, where the storage node and the management node are respectively connected to the dual-port SSD, and the device includes:
the monitoring unit is used for monitoring the state of the dual-port SSD through the connection between the node and the dual-port SSD;
and the processing unit is used for performing exception handling on the first target dual-port SSD when the monitoring unit monitors that the state of the first target dual-port SSD is an offline state or an exception state.
According to a third aspect of an embodiment of the present application, there is provided an electronic device including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory perform communication with each other through the communication bus;
A memory for storing a computer program;
and the processor is used for realizing the file system state monitoring method based on the dual-port SSD when executing the program stored in the memory.
According to a fourth aspect of embodiments of the present application, there is provided a computer readable storage medium having stored therein a computer program which, when executed by a processor, implements the above-described dual port SSD-based file system state monitoring method.
According to the file system state monitoring method based on the dual-port SSD, through respectively establishing the connection between the dual-port SSD and the management node and the connection between the dual-port SSD and the storage node, the management node can monitor the state of the dual-port SSD through the connection between the management node and the dual-port SSD, and when the state of the dual-port SSD is monitored to be in a offline state or an abnormal state, the abnormal processing aiming at the first target dual-port SSD is carried out.
Drawings
FIGS. 1A and 1B are schematic diagrams of architectures of data processing systems in which illustrative embodiments of the present application are shown;
FIG. 1C is a schematic diagram illustrating a storage structure of a file system implemented based on a dual port SSD, in accordance with an exemplary embodiment of the present application;
FIG. 2A is a flow chart of a dual port SSD based file system state monitoring method, according to an exemplary embodiment of the present application;
FIG. 2B is a flow chart of another dual port SSD based file system state monitoring method, shown in yet another exemplary embodiment of the present application;
FIG. 3 is a flow chart of another dual port SSD based file system state monitoring method, shown in yet another exemplary embodiment of the present application;
FIG. 4 is a flow chart of another dual port SSD based file system state monitoring method, shown in yet another exemplary embodiment of the present application;
FIG. 5 is a flow chart illustrating one SSD formatting, according to one exemplary embodiment of the present application;
FIG. 6 is a diagram illustrating data read-write offsets according to an exemplary embodiment of the present application;
FIG. 7 is a flow chart of a method of writing data according to an exemplary embodiment of the present application;
FIG. 8 is a flow chart of a method of data reading according to an exemplary embodiment of the application;
FIG. 9 is a flow chart illustrating a method for managing node response to a query request according to an exemplary embodiment of the present application;
FIG. 10 is a schematic diagram illustrating a dual port SSD based file system state monitoring device according to an exemplary embodiment of the present application;
fig. 11 is a schematic diagram of a hardware structure of an electronic device according to an exemplary embodiment of the present application.
Detailed Description
Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, the same numbers in different drawings refer to the same or similar elements, unless otherwise indicated. The implementations described in the following exemplary examples do not represent all implementations consistent with the application. Rather, they are merely examples of apparatus and methods consistent with aspects of the application as detailed in the accompanying claims.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
In order to enable those skilled in the art to better understand the technical solutions provided by the embodiments of the present application, the architecture of the data processing system provided by the embodiments of the present application and the storage structure of the file system implemented based on the dual-port SSD will be briefly described below.
Referring to fig. 1A and fig. 1B, an architecture schematic diagram of a data processing system provided by an embodiment of the present application is shown in fig. 1A and fig. 1B, where the data processing system includes a management node, a storage node, and a file system implemented based on a dual-port SSD, where the management node and the storage node are respectively connected to the dual-port SSD through dual ports, and the connection manner of the management node and the storage node may be direct connection (as shown in fig. 1A) or through switch connection (as shown in fig. 1B), and both the management node and the storage node can operate information in the file system implemented based on the dual-port SSD. Referring to fig. 1C, a storage structure diagram of a file system implemented based on SSD according to an embodiment of the application is shown in fig. 1C, where the file system includes a start block, an index block, and a data block. Wherein:
a start block for storing key information of the file system, including but not limited to UUID (Universally Unique Identifier, universal unique identification code) (for uniquely identifying SSD), index block size, data block number, verification information, etc.; the size of the start block is an integer multiple of the size of the block.
Preferably, the size of the start block is the size of one block.
The starting blocks comprise main and standby starting blocks with the same content and size for improving the information reliability.
For example, the main starting block and the standby starting block have the same size and are mutually backed up, the main starting block is positioned at the starting position of the SSD, and the standby starting block is positioned at the ending position of the SSD.
An index block for recording key information written into a corresponding data block, including, but not limited to, data size (i.e., the size of user data (non-padding data) stored in the data block), data type, time, check information, etc.; the size of the index block is an integer multiple of the size of the page. Wherein, in order to improve the information reliability, the index blocks comprise main and standby index blocks with the same content and size. The index blocks are consecutive at logical addresses of the SSD, and all the index blocks constitute an index block area (including a main index block area and a spare index block area), the size of the index block area being an integer multiple of the size of the block.
The primary and the backup index areas are the same in size and the content are backup, the positions of the primary and the backup starting blocks are recorded in the starting blocks, and the index blocks in the index areas are in one-to-one correspondence with the data blocks and are used for storing index information of the data blocks.
And the data block is used for storing user data, the size of the data block is an integral multiple of the size of the block, and all the data blocks form a data block area.
The data blocks are in one-to-one correspondence with the index blocks (one data block corresponds to one main index block and one standby index block), and the index blocks and the corresponding data blocks form a logic block available for users.
Illustratively, the data blocks are contiguous regions and numbered, with the data block size specified by the formatting time.
In the embodiment of the present application, in order to avoid space waste and disk fragmentation, data writing is performed by an additional writing method.
In order to make the above objects, features and advantages of the embodiments of the present application more comprehensible, the following describes the technical solution of the embodiments of the present application in detail with reference to the accompanying drawings.
Referring to fig. 2A, a flow chart of a dual-port SSD-based file system state monitoring method according to an embodiment of the application is provided, wherein the dual-port SSD-based file system state monitoring method may be applied to a management node in a data processing system, such as the management node in the data processing system shown in fig. 1A or fig. 1B, the data processing system may further include a storage node, and a dual-port SSD-based file system, such as the file system state monitoring method based on the dual-port SSD may include the following steps:
Illustratively, the file system implemented based on the dual-port SSD includes a start block having a size that is an integer multiple of a block size, an index block having a size that is an integer multiple of a page, and logical addresses of the index block in the dual-port SSD being consecutive; the size of an index block area formed by the index blocks is an integer multiple of the size of the block; the size of the data block is an integer multiple of the block, and the index blocks are in one-to-one correspondence with the data blocks, and the schematic diagram can be shown in fig. 1C.
Step 200, monitoring the state of the dual-port SSD through the connection between the node and the dual-port SSD.
Step S210, when it is detected that the state of the first target dual-port SSD is a down state or an abnormal state, performing an abnormal process for the first target dual-port SSD.
In the embodiment of the present application, the first target dual-port SSD does not refer to a fixed dual-port SSD, but may refer to any dual-port SSD that establishes connection with both a management node and a storage node, which will not be described later.
In the embodiment of the application, the management node and the storage node can monitor the state of the dual-port SSD through the connection between the management node and the dual-port SSD so as to determine whether the state of the dual-port SSD is in a down state, an abnormal state (on-line but abnormal) or a normal on-line state (on-line and normal).
When the management node monitors that the state of the first target dual-port SSD is a down state or an abnormal state, the management node may handle the abnormality of the first target dual-port SSD.
Illustratively, the exception handling may include, but is not limited to, one or more of data recovery, multi-copy redirection, exception pre-warning, and the like.
It can be seen that, in the method flow shown in fig. 2A, by respectively establishing the connection between the dual-port SSD and the management node, and the connection between the dual-port SSD and the storage node, the management node may monitor the state of the dual-port SSD through the connection between the local node and the dual-port SSD, and perform the exception handling for the first target dual-port SSD when the state of the dual-port SSD is monitored to be in the offline state or the exception state.
In one example, as shown in fig. 2B, in step S210, when it is monitored that the state of the first target dual-port SSD is the offline state or the abnormal state, the abnormal processing for the first target dual-port SSD is performed, which may be implemented by:
Step S211, when it is detected that the first target dual-port SSD is in the offline state or the abnormal state, a status query request for the first target dual-port SSD is sent to the storage node.
Step S212, when the state of the first target dual-port SSD sent by the storage node is received and it is determined that the state is consistent with the state of the first target dual-port SSD monitored by the node, performing exception handling for the first target dual-port SSD.
In the embodiment of the application, the condition of the dual-port SSD, which is monitored by the management node or the storage node through the connection with the dual-port SSD, is considered to be possibly influenced by the condition of the connection between the management node or the storage node and the dual-port SSD.
For example, when the management node monitors that the state of the dual-port SSD is the offline state through the connection between the local node and the dual-port SSD, the connection abnormality (such as a failure) between the management node and the dual-port SSD may be caused.
Therefore, in order to improve accuracy of the dual-port SSD state monitoring, when the management node monitors that the first target dual-port SSD is in the offline state or the abnormal state, the management node may send a state query request for the first target dual-port SSD to the storage node to determine the state of the first target dual-port SSD monitored by the storage node.
When the storage node receives the state query request for the first target dual-port SSD sent by the management node, the state of the first target dual-port SSD monitored by the storage node may be sent to the management node.
When the state of the first target dual-port SSD received by the management node and sent by the storage node is consistent with the state of the first target dual-port SSD monitored by the management node (management node), that is, the state is an offline state or an abnormal state, the management node can perform abnormal processing on the first target dual-port SSD.
It can be seen that, in the method flow shown in fig. 2B, by establishing the connection between the dual-port SSD and the management node, and the connection between the dual-port SSD and the storage node, the management node and the storage node can monitor the states of the dual-port SSD through the connection with the dual-port SSD, and when the management node and the storage node monitor that the states of the dual-port SSD are off-line states or abnormal states, abnormal processing is performed for the dual-port SSD, thereby improving the accuracy of state monitoring.
In one example, after sending the status query request for the first target dual-port SSD to the storage node in step S211, it may further include:
When the state of the first target dual-port SSD sent by the storage node is received and the state is determined to be the normal on-line state, the first target dual-port SSD is determined to be the normal on-line state, and the connection between the management node and the first target dual-port SSD is set to be the invalid state.
For example, when the management node monitors that the state of the first target dual-port SSD is a down state or an abnormal state, but the state of the first target dual-port SSD monitored by the storage node is a normal on-line state, the management node may determine that the first target dual-port SSD is a normal on-line state, and at this time, the management node may not need to perform an abnormal process, but set a connection between the management node and the first target dual-port SSD to an invalid state.
When the connection between the management node and the first target dual-port SSD is in an invalid state, but the first target dual-port SSD is in a normal on-line state, the operation for the dual-port SSD may be performed by the storage node.
In one example, the method for monitoring a file system state based on a dual-port SSD may further include:
when the state of the second target dual-port SSD sent by the storage node is received and is in a down state or an abnormal state, but the state of the second target dual-port SSD monitored by the node is in a normal on-line state, determining that the second target dual-port SSD is in the normal on-line state.
In the embodiment of the present application, the second target dual-port SSD does not refer to a fixed dual-port SSD, but may refer to any dual-port SSD that establishes connection with both the management node and the storage node, which will not be described later.
For example, the second target dual-port SSD may be the same dual-port SSD as the first target dual-port SSD, or may be a different dual-port SSD.
For example, when the storage node monitors that the second target dual-port SSD is in the offline state or the abnormal state, the storage node may report the monitored state of the second target dual-port SSD to the management node.
When the management node receives the state of the second target dual-port SSD reported by the storage node and determines that the state is the offline state or the abnormal state, the management node can acquire the state of the second target dual-port SSD monitored by the management node, if the state is the normal online state, the second target dual-port SSD is determined to be the normal online state, abnormal processing is not needed, and the connection between the storage node and the first target dual-port SSD is set to be an invalid state.
When the connection between the storage node and the second target dual-port SSD is in an invalid state, but the second target dual-port SSD is in a normal on-line state, the operation for the dual-port SSD may be performed by the management node.
It should be noted that, if the state of the second target dual-port SSD monitored by the management node is consistent with the state of the second target dual-port SSD monitored by the storage node (i.e., both are in the offline state or the abnormal state), the management node may determine that the second target dual-port SSD is in the offline state or the abnormal state, and perform the abnormal processing.
In addition, if the states of the first destination dual-port SSD or the second destination dual-port SSD monitored by the management node and the storage node are both in the normal on-line state, the operation for the first destination dual-port SSD or the second destination dual-port SSD may be performed by the management node or the storage node.
In one example, as shown in fig. 3, the method for monitoring a file system state based on the dual-port SSD may further include the following steps:
step S300, when a query request for the target file is received and it is determined that the index information of the target file is not stored in the local index database, the index information of the target file is read from the dual-port SSD through connection with the dual-port SSD.
Step S310, the index information of the target file is stored in a local index database, and the index information of the target file is returned to the query requester.
In the embodiment of the present application, the target file is not specific to a certain file, but may refer to any file, and the embodiment of the present application will not be repeated later.
For example, since a connection is established between the management node and the dual-port SSD, the management node may read the index information from the dual-port SSD, without the storage node reporting the index information in the dual-port SSD to the management node for storage.
When the management node receives the query request for the target file, whether the index information of the target file is stored in the local index database can be queried first.
When the index information of the target file is not stored in the local index data, the management node can read the index information of the target file from the dual-port SSD through connection with the dual-port SSD.
For example, since the minimum read-write unit of the SSD is a page, when the management node reads index information of the target file from the dual port, the management node may read index information of one or more pages including the index information of the target file.
When the management and node reads the index information of the target file, the index information of the target file can be stored in a local index database, and the index information of the target file is returned to the query requester.
It should be noted that, when the management node queries the index information of the target file in the local index database, the index information of the target file may be read from the local index database and returned to the query requester.
In one example, as shown in fig. 4, the method for monitoring a file system state based on the dual-port SSD may further include the following steps:
step S400, when the storage node receives a data writing request, determining a first starting offset and a first ending offset of current data writing according to the size of the data to be written and the writing offset.
For example, when the storage node receives a data write request, the storage node may determine a start offset (referred to herein as a first start offset) and an end offset (referred to herein as a first end offset) of the current data write according to the size of the data to be written and the write offset (the value of offset carried in the data write request).
The first start offset is the write offset of the data to be written, and the first end offset is the sum of the write offset and the size of the data to be written.
In step S410, when the first starting offset is not the starting position of the page, the storage node determines the starting position of the page where the first starting offset is located as the actual starting offset of the current data writing.
For example, after determining the first start offset and the first end offset of the current data writing, the storage node may determine whether the first start offset and the first end offset are the start positions of the pages, respectively.
In the embodiment of the present application, the starting position of one page (not the first page) is the ending position of the last page.
In the embodiment of the present application, considering that the minimum unit of data writing of the SSD is a page, the initial offset (such as the first initial offset) of data writing of the file system is usually not at the initial position of the page, and the data writing cannot be performed in a page alignment manner, which results in low data writing efficiency.
Accordingly, in the embodiment of the present application, when the storage node determines that the first starting offset is not the starting position of the page, the storage node may determine the starting position of the page where the first starting offset is located as the actual starting offset of the current data writing.
In step S420, the storage node merges the data in the page where the first initial offset is located and the data to be written into the size of an integer number of pages for writing.
For example, after determining the actual starting offset, the storage node may combine the data (user data, non-padding data) in the page where the first starting offset is located with the data to be written, split according to the page size, split into one or more blocks with the page size, and sequentially write the blocks with the page where the first starting offset is located and the subsequent pages (if the data with the page sizes are included).
In step S430, when the first ending offset is not the ending position of the page, the storage node determines the ending position of the page where the first ending offset is located as the actual ending offset, and fills the remaining data to be written into a page with a size and writing into the page.
For example, when the first ending offset is not the ending position of the page, after the data writing in step S420, there is remaining data to be written in less than one page size, and at this time, the storage node may determine the ending position of the page where the first ending offset is located as the actual ending offset, and fill the remaining data to be written into the page where the first ending offset is written in one page size by means of data filling.
As can be seen, in the method flow shown in fig. 4, for the file system implemented based on the SSD, by performing matching optimization on the start block, the index block and the data block with blocks and pages in the SSD, when data writing is performed, data writing is performed according to a page alignment mode, so that the efficiency of data writing is improved.
Further, in the embodiment of the present application, considering that the data writing is performed by means of additional writing, when the ending offset of one data writing is not the ending position of a page, the data (user data, non-padding data) in the page where the ending offset is located will generally need to be read into the write buffer when the next data writing is performed, and be combined with the data to be written, so, in order to further improve the data writing efficiency and reduce the writing penalty, after each data writing, the data in at least the last page of the data writing can be saved in the write buffer.
Accordingly, in one embodiment of the present application, before the storage node merges the data in the page where the first starting offset exists and the data to be written into the size of an integer number of pages for writing, the method further includes:
if the current data writing is the first writing, opening a block to be written, and reading the data in the page where the initial offset is located into a writing cache;
the foregoing storage node fills the remaining data to be written into a page with a page size, and then may further include:
the data in at least the last page is saved in the write cache.
In this embodiment, to further increase the efficiency of the additional writing and reduce the write penalty, after each data write, the storage node may save the data in at least the last page of the data write in the write cache.
For example, for one data writing, assuming that pages of data writing are pages 1 to 4 and that only 4K data (user data, non-padding data) is included in the pages 4 and the remaining 4K is padding data (for example, the page size is 8K), after the storage node completes the data writing, at least the 4K data included in the pages 4 may be stored in the write cache (data in the pages 3 and 4, or data in the pages 2, 3, and 4, etc., hereinafter, data of the last page is taken as an example). Since the data writing is performed by adopting the additional writing mode, the writing offset of the next data writing is usually the end position of the user data of the last data writing (in this example, the position of the 4K size of the page 4), and since the data in the page where the writing offset of the data writing is located is already stored in the cache, the storage node can directly combine the data in the page stored in the cache and the data to be written into the size of an integer number of pages for writing, thereby improving the data writing efficiency and reducing the writing penalty.
Accordingly, in this embodiment, when data writing is required and it is determined that the first starting offset is not at the starting position of the page, the storage node may determine whether data in the page where the first starting offset is located is stored in the write cache, if yes, combine the data in the page stored in the cache and the data to be written into the size of an integer number of pages for writing, and when the first ending offset is not at the ending position of the page, store the data in the page where the first ending offset is located in the cache.
By the method, except that the data of the page where the first initial offset is needed to be read into the write cache (the first initial offset is not the initial position of the page) when the data is written for the first time, the data is not needed to be read when the data is written every time, so that the data writing efficiency is further improved, and the writing penalty is reduced.
It should be noted that, in the embodiment of the present application, when the first starting offset is the starting position of the page, the storage node may directly write data (without performing data reading); when the first end offset is the end position of the page, the storage node may directly write data (without performing data filling), in which case the storage node may not store the data of the page where the first end offset is located in the cache.
Further, in the embodiment of the present application, in order to improve the data reading efficiency, the data reading may also be performed in a page alignment manner.
Accordingly, the method for monitoring the file system state based on the dual-port SSD may further include:
when the storage node receives a data reading request, judging whether the reading offset of the data to be read is in a reading cache or not;
when the reading offset is not in the reading buffer, the storage node determines a second initial offset and a second end offset of the current data reading according to the size of the data to be read and the reading offset;
when the second initial offset is not the initial position of the page, the storage node determines the initial position of the page where the second initial offset is located as the actual initial offset of the current data reading;
when the second ending offset is not the ending position of the page, the storage node determines the ending position of the page where the second ending offset is located as the actual ending offset of the current data reading;
the storage node reads the data between the actual initial offset and the actual final offset of the current data reading, returns the data to be read to the data reading request initiator device, and stores the data in at least the last page in the read data in the read cache.
In this embodiment, when the storage node receives the data read request, the start offset (referred to herein as the second start offset) and the end offset (referred to herein as the second end offset) of the current data read may be determined according to the size of the data to be read and the read offset carried in the data read request.
The second initial offset is the read offset of the data to be read, and the second end offset is the sum of the read offset and the size of the data to be read.
In this embodiment, after the storage node determines the second starting offset for the data read, it may be determined whether the second starting offset is in the read cache. If not, the storage node may further determine whether the second starting offset is the starting location of the page.
In this embodiment, considering that the minimum unit of data reading of the SSD is a page, the start offset of data reading of the file system (such as the second start offset) is usually not at the start position of the page, and data reading cannot be performed in a page alignment manner, which results in low data reading efficiency.
Accordingly, in this embodiment, when the storage node determines that the second starting offset is not the starting location of the page, the storage node may determine the starting location of the page where the first starting offset is located as the actual starting offset of the current data read.
Further, the storage node may determine whether the second ending offset is at an ending position of the page, and if not, the storage node may determine the ending position of the page where the second ending offset is located as an actual ending offset of the current data reading.
After determining the actual start offset and the actual end offset of the current data reading, the storage node may read data between the actual start offset and the actual end offset, return the data to be read included in the data to the data reading request initiator device, and store the data in at least the last page in the read data in the read cache (the number of the cached pages may be determined according to the size of the remaining space of the read cache).
Furthermore, when continuous data reading is performed, the storage node can read all or part of the data from the read cache, so that when the initial offset of the data to be read is not at the initial position of the page, the data to be read in the page where the initial offset is located can be directly read from the read cache without reading the data of the whole page from a disk, and the read penalty is reduced; in addition, when data is required to be read from the disk again, the reading offset can be ensured to be at the initial position of the page, and the data reading efficiency can be further improved.
Further, in one implementation of this embodiment, when the storage node determines that the read offset is in the read cache, it is determined whether the data to be read is all in the read cache.
When the storage node determines that part of the data in the data to be read is not read in the cache, determining the starting position of the next page of the part of the data to be read in the cache as the actual starting offset of the current data reading.
For example, assuming that the read offset of the current data read is in the middle of page4 and there is data in the read cache that is in the middle of page4, the storage node may determine the starting location of page5 as the actual starting offset of the current data read.
In this embodiment, when the second ending offset is not the ending position of the page, the storage node may determine the ending position of the page where the second ending offset is located as the actual ending offset of the current data reading.
Furthermore, the storage node can read the data between the actual initial offset and the actual final offset of the current data reading, return the part of the data to be read in the read cache and the read data to be read to the data reading request initiator device, and store the data in at least the last page in the read data in the read cache.
It should be noted that, in the embodiment of the present application, when all the data to be read is in the read cache, the storage node may read the data to be read from the read cache and return the data to the data read request initiator device.
Further, in the embodiment of the present application, in order to further improve the data reading efficiency, pre-reading configuration may be performed (that is, data of a certain number of pages before reading the data to be read or/and data of a certain number of data pages after reading the data to be read are stored in the read cache), when the storage node receives the data reading request and determines that the data to be read is not all in the read cache, the number of pages that are read forward or/and backward may be determined according to the pre-reading configuration, the size of the data to be read and the buffer size, and the specific implementation will be described in detail below with reference to specific examples.
Further, in the embodiment of the present application, considering that only the index is usually deleted when the existing file system performs data deletion, the space corresponding to the data block is not really released from the NAND medium of the SSD, thereby affecting the IO (Input/output) processing efficiency of the SSD in the file system implemented based on the SSD.
Accordingly, in one embodiment of the present application, a file system implemented based on SSDs may run a Trim operation detection module,
accordingly, the method for monitoring the file system state based on the dual-port SSD may further include:
when the Trim operation detection module is started for the first time, the storage node releases the space of unused data blocks through Trim operation according to the use condition of the data blocks of the file system;
the storage node regularly detects whether SSD meets Trim operation conditions;
if so, the storage node releases the space of unused data blocks through Trim operation according to the use condition of the data blocks of the file system.
In this embodiment, trim operation detection module may be run in a file system implemented based on SSD. When the Trim operation detection module is started for the first time (for example, when the storage node is started to automatically start the Trim operation detection module), the space of the data block which is not used by the file system in the SSD can be released through Trim operation according to the use condition of the data block of the file system.
After the above operation is completed, the storage node may periodically detect whether the SSD satisfies Trim operation conditions through the Trim operation detection module.
The Trim operation condition may include, but is not limited to, the effective data duty ratio of the SSD (the ratio of the amount of data in the data block used by the file system to the total amount of data in the SSD) being lower than a preset threshold, the space usage of the SSD exceeding the preset threshold, etc.
In this embodiment, when the Trim operation detection module detects that the SSD satisfies the Trim operation condition, the Trim operation detection module may release, according to the use condition of the data blocks of the file system, the space of the data blocks in the SSD that are not used by the file system through Trim operation.
In order to enable those skilled in the art to better understand the technical solutions provided by the embodiments of the present application, the technical solutions provided by the embodiments of the present application are described below with reference to specific examples.
It should be noted that, unless otherwise specified, the above SSDs are all dual-port SSDs, and the following embodiments take the case that the states of the SSDs monitored by the management node and the storage node are all normal online states as examples.
For example, the flows shown in fig. 5, 7, and 8 may be performed by the management node when the connection between the storage node and the SSD is invalid.
In this embodiment, when a storage node running a file system implemented based on an SSD is first run, the SSD may be subjected to formatting processing.
It should be noted that, the storage node formats the SSD not only in the initial operation, but also in the operation process of the storage node, the storage node may be triggered by a user according to actual needs.
With reference to fig. 5, the implementation of the storage node for formatting the SSD may include the following steps:
step S500, when a formatting request is received, releasing all idles of the SSD; the formatting request carries formatting parameters, wherein the formatting parameters comprise an index block size and a data block size.
In this embodiment, the user may issue a format request for the SSD to the storage node according to the actual requirement, where the format request may carry at least a format parameter, where the format parameter includes, but is not limited to, an index block size (integer multiple of the page size) and a data block size (integer multiple of the block size).
It should be noted that, the formatting parameter may further include a start block size (integer multiple of the block size); when the start block size is not included in the formatting parameters, the start block size may be determined as a default size (i.e., the size of one block).
Step S510, determining the total number of blocks according to the formatting parameters, the size of the page, the size of the block and the total capacity of the SSD; wherein the total number of blocks is the number of data blocks or index blocks.
In this embodiment, the storage node may determine the index block size, the data block size, and the start block size according to the formatting parameters, and further, the storage node may determine the total number of blocks according to the index block size, the data block size, the start block size, the size of the page, the size of the block, and the total capacity of the SSD.
In this embodiment, the number of data blocks (i.e., the data of the index block) is taken as the total number of blocks.
Step S520, according to the storage structure and the total number of blocks, initialization information of the starting block and the index block is written into the appointed position of the SSD.
In this embodiment, after the storage node determines the total number of blocks, the storage node may determine the positions of the start block, the index block, and the data block in the SSD according to the storage structure and the total number of blocks, and write corresponding initialization information into the start block and the index block, respectively, to complete formatting of the SSD.
It should be noted that, when the SSD is formatted, the storage node may notify the management node that the formatting is completed, and the management node reloads the SSD.
In this embodiment, after the completion of the SSD formatting, data reading and writing can be performed.
The data writing and the data reading are respectively described below with reference to examples.
Referring to fig. 6, assuming that the first start offset and the first end offset determined by the storage node according to the received data writing request are respectively the start offset1 and the end offset1, a specific flowchart of the data writing performed by the storage node may be as shown in fig. 7, and may include the following steps:
step S700, judging whether the data writing is the first data writing. If yes, go to step S710; otherwise, go to step S720.
Step S710, opening the block, reading the data in the page2, putting the data into a cache, and turning to step S740.
In this embodiment, the storage node may first determine whether this data write is the first data write.
If so, the storage node may open a block (a block hit by the write request), read the data in the page where the start offset1 is located (i.e., page 2), and store the data in the write cache.
Step S720, determining whether the data in the page2 exists in the write buffer. If yes, go to step S740; otherwise, go to step S730.
Step S730, the data in the read page2 is put into the buffer, and the process goes to step S740.
Step S740, determining the initial position of the page2 as the actual initial offset of the current data writing, and merging the data in the page2 and the data to be written into the size of an integer number of pages for writing.
In this embodiment, the storage node may determine the start position of the page2 (i.e. the position where the arrow 2 is located) as the actual start offset of the current data writing, and combine the data in the page2 and the data to be written into an integer number (2 in this embodiment) for writing (write page2 and page 3).
In step S750, the end position of the page4 is determined as the actual end offset of the current data writing, and the remaining data is filled into the page4 with the size of one page.
In this embodiment, since end offset1 is not the end position of the page, part of the data remains after the data writing in step S540, at this time, the storage node may determine the end position of the page4 (i.e. the position where arrow 5 is located) as the actual end offset of the current data writing, and fill the remaining data to the size of one page (filling by means of 0 padding) to write the data into the page4.
Step S760, the data in the page4 is stored in the write cache.
In this embodiment, after the storage node finishes writing the data, the data in the page4 may be stored in the write buffer, and when the data is written next time and the data writing offset is at the end offset1 position, the data in the page4 may be directly obtained from the write buffer without reading the data from the page4, and the data to be written are combined and written, so that the data writing efficiency is improved, and the writing penalty is reduced.
When the storage node completes data writing, the management node can be informed of updating the index corresponding to the block to the index database according to the need; however, the management node also monitors the dual-port SSD through the connection between the local node and the dual-port SSD, but since the management node does not need to know the writing of each piece of data, the update of the index by the management node can be updated at the time of the query (for example, by the flow shown in fig. 3), or by the storage node sending a notification signal as needed.
Still taking fig. 6 as an example, assuming that the second start offset and the second end offset determined by the storage node according to the received data read request are respectively the start offset1 and the end offset1, a specific flowchart of the data reading performed by the storage node may be as shown in fig. 8, and may include the following steps:
step S800, judging whether the data reading is the first data reading. If yes, open the block and go to step S840; otherwise, go to step S810.
Step 810, judging whether the data of the page2 is in the read cache. If yes, go to step S820; otherwise, go to step S840.
In this embodiment, when the storage node determines that the current data read is not the first data read, the storage node may determine whether the data of the page where the read offset (i.e., the start offset 1) is located (i.e., the data after the start offset1 in the page 2) is in the read cache.
Step S820, judging whether all data of pages 2 to 4 are in the read cache; if yes, go to step S870; otherwise, go to step S830.
In this embodiment, when the storage node determines that the data of page2 is in the read cache, the storage node may further determine whether the data of both page3 and page4 are in the read cache. If yes, directly acquiring data to be read from the read cache; otherwise, the part of the data to be read, which is not in the read cache, needs to be read from the SSD.
In step S830, the start position of the next page of the part of the data to be read in the read cache is determined as the actual start offset of the current data, and the end position of the kth page after the page where the end offset1 is located is determined as the actual end offset of the current data read.
In step S840, the start position of the nth page before the page2 is determined as the actual start position of the current data reading, and the end position of the mth page after the page where the end offset1 is located is determined as the actual end offset of the current data reading.
In this embodiment, the storage node may determine the values of M, N and K above according to the pre-read configuration, the cache size, and the size of the data to be read; wherein M, N and K are natural numbers.
For example, assuming that the read offset is no longer in the read cache and the pre-read is configured to pre-read the size of one page forward and backward, respectively, the storage node may determine the start position of page1 (i.e., the position of arrow 1) as the actual start offset (start offset 2) of the current data read, and the end position of page5 (i.e., the position of arrow 6) as the actual end offset (end offset 2) of the current data read (assuming that the read cache space is sufficient).
Step S850, data reading is performed according to the actual initial offset and the actual final offset.
Step S860, the data to be read is returned to the data reading request initiator device, and the data in at least the last page in the read data is saved in the reading cache.
In this embodiment, when a portion of the data to be read is in the read cache, the storage node may return the portion of the data in the read cache, and the remaining data to be read from the SSD, to the data read request initiator device.
After the storage node returns the data to be read to the data reading request initiator device, the data in at least the last page in the read data can be stored in the reading cache, so that when continuous data is read, the data of the non-whole page in the page where the reading offset is located in the next data reading can be directly read from the reading cache, the data reading efficiency is improved, and the reading penalty is reduced.
Step S870, the data to be read is obtained from the read cache, and returned to the data read request initiator device.
In this embodiment, when all the data to be read is in the read cache, the storage node may directly obtain the data to be read from the read cache and return the data to the data read request initiator device, so as to improve the data reading efficiency and reduce the read penalty.
Referring to fig. 9, the process flow of the management node responding to the query request may include the following steps:
step 900, the management node receives the query request.
Step S910, it is determined whether the current latest time is a query. If yes, go to step S920; otherwise, go to step S930.
Step S920, the management node reads the index information of the most recently written block from the SSD, updates the index information into the index database, and proceeds to step S930.
For example, assuming that the current time is 3 points, the data requested to be queried by the query request is 1 point to 5 points, that is, the data including the current latest written data, that is, the query request is the query at the current latest time, at this time, the index is not updated into the index database of the management node in time, so the management node needs to update the index information in the manner described in step S920 first, and then respond to the query request.
Step S930, inquiring index information from the index database.
Step S940, the queried index information is returned to the user.
In the embodiment of the application, the management node can monitor the state of the dual-port SSD through the connection between the management node and the dual-port SSD and the connection between the dual-port SSD and the storage node by respectively establishing the connection between the dual-port SSD and the management node, and when the state of the dual-port SSD is monitored to be in the offline state or the abnormal state, the abnormal processing aiming at the first target dual-port SSD is carried out.
The method provided by the application is described above. The device provided by the application is described below:
referring to fig. 10, a schematic structural diagram of a dual-port SSD-based file system state monitoring device according to an embodiment of the application is provided, wherein the dual-port SSD-based file system state monitoring device may be applied to the management node in the above embodiment, and as shown in fig. 10, the dual-port SSD-based file system state monitoring device may include:
a monitoring unit 1010, configured to monitor a state of the dual-port SSD through connection between the node and the dual-port SSD;
and a processing unit 1020, configured to perform exception handling for the first target dual-port SSD when the monitoring unit 1010 monitors that the state of the first target dual-port SSD is an offline state or an exception state.
In one embodiment, the processing unit 1020 is specifically configured to send, to the storage node, a status query request for the first target dual-port SSD when the monitoring unit 1010 monitors that the first target dual-port SSD is in a down state or an abnormal state; and when the state of the first target dual-port SSD sent by the storage node is received and is determined to be consistent with the state of the first target dual-port SSD monitored by the node, performing exception handling on the first target dual-port SSD.
In one embodiment, the processing unit 1020 is further configured to, when the state of the first target dual-port SSD sent by the storage node is received and the state is determined to be a normal online state, determine that the first target dual-port SSD is in a normal online state, and set a connection between the management node and the first target dual-port SSD to be an invalid state.
In one embodiment, the processing unit 1020 is further configured to determine that the second target dual-port SSD is in a normal online state and set a connection between the storage node and the first target dual-port SSD to an invalid state when the state of the second target dual-port SSD sent by the storage node is received and the state is in a down state or an abnormal state, but the state of the second target dual-port SSD monitored by the node is in a normal online state.
In one embodiment, the processing unit 1020 is specifically configured to, when a query request for a target file is received and it is determined that index information of the target file is not stored in the local index database, read the index information of the target file from the dual-port SSD through a connection with the dual-port SSD; and saving the index information of the target file to the local index database, and returning the index information of the target file to a query requester.
In one embodiment, the file system includes a start block, an index block and a data block, where the size of the start block is an integer multiple of the size of the block, the size of the index block is an integer multiple of the page, and the logical addresses of the index blocks in the dual-port SSD are consecutive, the size of an index block area formed by the index blocks is an integer multiple of the size of the block, the size of the data block is an integer multiple of the block, and the index blocks are in one-to-one correspondence with the data block.
Fig. 11 is a schematic diagram of a hardware structure of an electronic device according to an embodiment of the present application. The electronic device may include a processor 1101, a communication interface 1102, a memory 1103 and a communication bus 1104. The processor 1101, communication interface 1102 and memory 1103 accomplish communication with each other through a communication bus 1104. Wherein the memory 1103 has stored thereon a computer program; the processor 1101 can execute the file system state monitoring method based on the dual port SSD described above by executing a program stored on the memory 1103.
The memory 1103 referred to herein may be any electronic, magnetic, optical, or other physical storage device that can contain or store information, such as executable instructions, data, or the like. For example, the memory 1102 may be: RAM (Radom Access Memory, random access memory), volatile memory, non-volatile memory, flash memory, a storage drive (e.g., hard drive), a solid state drive, any type of storage disk (e.g., optical disk, dvd, etc.), or a similar storage medium, or a combination thereof.
Embodiments of the present application also provide a machine-readable storage medium, such as the memory 1103 in fig. 11, storing a computer program executable by the processor 1101 in the electronic device shown in fig. 11 to implement the dual port SSD-based file system state monitoring method described above.
It is noted that relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
The foregoing description of the preferred embodiments of the application is not intended to be limiting, but rather to enable any modification, equivalent replacement, improvement or the like to be made within the spirit and principles of the application.

Claims (11)

1. The file system state monitoring method based on the dual-port solid state disk SSD is characterized by being applied to a management node in a data processing system, wherein the data processing system further comprises a storage node and a file system based on the dual-port SSD, the storage node and the management node are respectively connected with the dual-port SSD, and the method comprises the following steps:
the state of the dual-port SSD is monitored through the connection between the node and the dual-port SSD;
when the state of the first target dual-port SSD is monitored to be in a offline state or an abnormal state, performing abnormal processing aiming at the first target dual-port SSD;
when a query request for a target file is received and it is determined that index information of the target file is not stored in a local index database, the index information of the target file is read from the dual-port SSD through connection with the dual-port SSD;
And saving the index information of the target file to the local index database, and returning the index information of the target file to a query requester.
2. The method of claim 1, wherein the performing exception handling for the first target dual-port SSD when the state of the dual-port SSD is detected as an offline state or an exception state comprises:
when the first target dual-port SSD is monitored to be in a down state or an abnormal state, sending a state query request aiming at the first target dual-port SSD to the storage node;
and when the state of the first target dual-port SSD sent by the storage node is received and is determined to be consistent with the state of the first target dual-port SSD monitored by the node, performing exception handling on the first target dual-port SSD.
3. The method of claim 2, wherein after sending a status query request for the first target dual port SSD to the storage node, further comprising:
when the state of the first target dual-port SSD sent by the storage node is received and the state is determined to be a normal on-line state, the first target dual-port SSD is determined to be a normal on-line state, and the connection between the management node and the first target dual-port SSD is set to be an invalid state.
4. The method according to claim 1, wherein the method further comprises:
when the state of the second target dual-port SSD sent by the storage node is received and is in a down state or an abnormal state, but the state of the second target dual-port SSD monitored by the node is in a normal on-line state, the second target dual-port SSD is determined to be in a normal on-line state, and the connection between the storage node and the first target dual-port SSD is set to be in an invalid state.
5. The method according to any one of claims 1-4, wherein the file system includes a start block, an index block, and a data block, the size of the start block is an integer multiple of the size of a block, the size of the index block is an integer multiple of a page, logical addresses of the index block in the dual port SSD are consecutive, the size of an index block area formed by the index blocks is an integer multiple of the size of the block, the size of the data block is an integer multiple of the size of the block, and the index blocks are in one-to-one correspondence with the data block.
6. The utility model provides a file system state monitoring devices based on dual-port solid state disk SSD, its characterized in that is applied to the management node in the data processing system, still include storage node in the data processing system, and the file system that dual-port solid state disk SSD realized based on, storage node and management node establish the connection with dual-port SSD respectively, the device includes:
The monitoring unit is used for monitoring the state of the dual-port SSD through the connection between the node and the dual-port SSD;
the processing unit is used for performing exception handling for the first target dual-port SSD when the monitoring unit monitors that the state of the first target dual-port SSD is an offline state or an exception state;
the processing unit is specifically configured to, when receiving a query request for a target file and determining that index information of the target file is not stored in a local index database, read the index information of the target file from the dual-port SSD through connection with the dual-port SSD; and saving the index information of the target file to the local index database, and returning the index information of the target file to a query requester.
7. The apparatus of claim 6, wherein the device comprises a plurality of sensors,
the processing unit is specifically configured to send a state query request for the first target dual-port SSD to the storage node when the monitoring unit monitors that the first target dual-port SSD is in a offline state or an abnormal state; and when the state of the first target dual-port SSD sent by the storage node is received and is determined to be consistent with the state of the first target dual-port SSD monitored by the node, performing exception handling on the first target dual-port SSD.
8. The apparatus of claim 7, wherein the device comprises a plurality of sensors,
the processing unit is further configured to determine that the first target dual-port SSD is in a normal online state and set a connection between the management node and the first target dual-port SSD to an invalid state when the state of the first target dual-port SSD sent by the storage node is received and the state is determined to be in the normal online state.
9. The apparatus of claim 6, wherein the device comprises a plurality of sensors,
the processing unit is further configured to determine that the second destination dual-port SSD is in a normal online state and set a connection between the storage node and the first destination dual-port SSD to an invalid state when the state of the second destination dual-port SSD sent by the storage node is received and the state is a down state or an abnormal state, but the state of the second destination dual-port SSD monitored by the node is in a normal online state.
10. The apparatus according to any one of claims 6-9, wherein the file system includes a startup block, an index block, and a data block, the size of the startup block is an integer multiple of the size of a block, the size of the index block is an integer multiple of a page, and logical addresses of the index block in the dual port SSD are consecutive, the size of an index block area formed by the index blocks is an integer multiple of the size of the block, the size of the data block is an integer multiple of the block, and the index blocks are in one-to-one correspondence with the data block.
11. The electronic equipment is characterized by comprising a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory are communicated with each other through the communication bus;
a memory for storing a computer program;
a processor for implementing the method steps of any one of claims 1-5 when executing a program stored on a memory.
CN202010478124.6A 2020-05-29 2020-05-29 File system state monitoring method and device based on dual-port SSD and electronic equipment Active CN111639008B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010478124.6A CN111639008B (en) 2020-05-29 2020-05-29 File system state monitoring method and device based on dual-port SSD and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010478124.6A CN111639008B (en) 2020-05-29 2020-05-29 File system state monitoring method and device based on dual-port SSD and electronic equipment

Publications (2)

Publication Number Publication Date
CN111639008A CN111639008A (en) 2020-09-08
CN111639008B true CN111639008B (en) 2023-08-25

Family

ID=72331645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010478124.6A Active CN111639008B (en) 2020-05-29 2020-05-29 File system state monitoring method and device based on dual-port SSD and electronic equipment

Country Status (1)

Country Link
CN (1) CN111639008B (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012075200A2 (en) * 2010-12-01 2012-06-07 Sandforce, Inc. Dynamic higher-level redundancy mode management with independent silicon elements
WO2012087648A2 (en) * 2010-12-22 2012-06-28 Intel Corporation Method and apparatus to provide a high availability solid state drive
EP2750018A2 (en) * 2012-12-27 2014-07-02 LSI Corporation Non-volatile memory program failure recovery via redundant arrays
CN104641365A (en) * 2012-09-19 2015-05-20 日立数据系统工程英国有限公司 System and method for managing deduplication using checkpoints in a file storage system
CN105556930A (en) * 2013-06-26 2016-05-04 科内克斯实验室公司 NVM EXPRESS controller for remote memory access
CN107769956A (en) * 2016-08-19 2018-03-06 三星电子株式会社 Computing system and redundant resource attachment structure
CN110312999A (en) * 2017-02-28 2019-10-08 思科技术公司 Dynamic based on software configuration/strategy distribution PCIe disk array divides
WO2019206106A1 (en) * 2018-04-23 2019-10-31 Zhejiang Dahua Technology Co., Ltd. Systems and methods for storing data in ssd
WO2019228217A1 (en) * 2018-06-01 2019-12-05 阿里巴巴集团控股有限公司 File system data access method and file system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140059278A1 (en) * 2011-11-14 2014-02-27 Lsi Corporation Storage device firmware and manufacturing software
US10803970B2 (en) * 2011-11-14 2020-10-13 Seagate Technology Llc Solid-state disk manufacturing self test
CN103984768B (en) * 2014-05-30 2017-09-29 华为技术有限公司 A kind of data-base cluster manages method, node and the system of data
US10120583B2 (en) * 2016-06-07 2018-11-06 Facebook, Inc. Performance penalty avoidance for solid state drive
US20190114220A1 (en) * 2017-10-12 2019-04-18 Cnex Labs, Inc. Method and apparatus for enhancing data integrity using dual error detection and repair protection for ssd

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012075200A2 (en) * 2010-12-01 2012-06-07 Sandforce, Inc. Dynamic higher-level redundancy mode management with independent silicon elements
WO2012087648A2 (en) * 2010-12-22 2012-06-28 Intel Corporation Method and apparatus to provide a high availability solid state drive
CN104641365A (en) * 2012-09-19 2015-05-20 日立数据系统工程英国有限公司 System and method for managing deduplication using checkpoints in a file storage system
EP2750018A2 (en) * 2012-12-27 2014-07-02 LSI Corporation Non-volatile memory program failure recovery via redundant arrays
CN105556930A (en) * 2013-06-26 2016-05-04 科内克斯实验室公司 NVM EXPRESS controller for remote memory access
CN107769956A (en) * 2016-08-19 2018-03-06 三星电子株式会社 Computing system and redundant resource attachment structure
CN110312999A (en) * 2017-02-28 2019-10-08 思科技术公司 Dynamic based on software configuration/strategy distribution PCIe disk array divides
WO2019206106A1 (en) * 2018-04-23 2019-10-31 Zhejiang Dahua Technology Co., Ltd. Systems and methods for storing data in ssd
WO2019228217A1 (en) * 2018-06-01 2019-12-05 阿里巴巴集团控股有限公司 File system data access method and file system

Also Published As

Publication number Publication date
CN111639008A (en) 2020-09-08

Similar Documents

Publication Publication Date Title
US20050163014A1 (en) Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device
US9921955B1 (en) Flash write amplification reduction
US8930648B1 (en) Distributed deduplication using global chunk data structure and epochs
US7761663B2 (en) Operating a replicated cache that includes receiving confirmation that a flush operation was initiated
CN100362462C (en) Method for managing magnetic disk array buffer storage
US8200897B2 (en) Storage system and data management method
KR101250574B1 (en) Network boot system
US20060248125A1 (en) Method and system for data processing with data backup
CN106951375B (en) Method and device for deleting snapshot volume in storage system
WO2017113213A1 (en) Method and device for processing access request, and computer system
KR20170010729A (en) Storage system and method for metadata management in Non-volatile memory
JP4290975B2 (en) Database processing method and apparatus, processing program therefor, disaster recovery method and system
US20060224639A1 (en) Backup system, program and backup method
CN107329704B (en) Cache mirroring method and controller
US7624091B2 (en) Data prefetch in storage device
WO2023116346A1 (en) Method and system for recovering trim data under abnormal power failure, and solid-state drive
CN113568582A (en) Data management method and device and storage equipment
WO2017113211A1 (en) Method and device for processing access request, and computer system
KR20110046118A (en) Adaptive logging apparatus and method
CN111399765B (en) Data processing method and device, electronic equipment and readable storage medium
US6035417A (en) Method and system for taking over data and device for processing data
US7822923B2 (en) Storage control program, storage control apparatus, and storage control method
JP2023095180A (en) Storage system and method
CN111639008B (en) File system state monitoring method and device based on dual-port SSD and electronic equipment
US20050091266A1 (en) Data file system, data access server and data access program storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant