Object computing storage system, data processing method, client and storage medium

JP2025526213A5Pending Publication Date: 2025-12-24BEIJING SUPERSTRING ACAD OF MEMORY TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024518212
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-07-27
Filing Date
2022-12-19
Publication Date
2025-12-24

AI Technical Summary

Technical Problem

The separation of computing and storage architectures in cloud computing leads to high energy consumption due to extensive data transport, limiting the computing power's ability to handle increasing data volumes.

Method used

An object computing storage system integrates computing and storage capabilities within a storage management system, allowing data processing requests to be handled directly on the storage side, reducing the need for data transport and energy consumption.

Benefits of technology

This integration enables more efficient big data processing on the storage side, effectively reducing computing energy consumption and simplifying the computing-storage interface.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

An object computing storage system, a data processing method, a client, and a storage medium, belonging to the field of electrical digital data processing, comprising a storage control device and a storage chip or a storage disk connected thereto, wherein the storage control device is a computing storage management system, which receives a data processing request from the outside, analyzes information on a specified storage object, information on a specified function, and information on input data included in the data processing request, and if it determines that calling the specified function for the specified storage object is supported, calls the specified function based on the input data to perform calculations on the data of the specified storage object, and returns the calculation results to the sender of the data processing request.
Need to check novelty before this filing date? Find Prior Art

Description

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This disclosure claims priority to a Chinese patent application filed with the CNIPA on July 27, 2022, bearing application number 202210888039.6 and entitled "Object Computing Storage System, Data Processing Method, Client, and Storage Medium," the contents of which are incorporated herein by reference. [Technical Field]

[0002] The present disclosure relates to storage technologies, but is not limited thereto, and in particular refers to object computing storage systems, data processing methods, clients, and storage media. [Background technology]

[0003] Cloud computing has already adopted an architecture that separates computing and storage, where data storage servers and computing servers (e.g., hosts) are connected via a network. In the era of big data, a large amount of computing energy is consumed by transporting data, and the architecture that separates computing and storage poses the problem of high energy consumption and inability of computing power to keep up with the increase in data volume. Summary of the Invention

[0004] The following is a general overview of the subject matter detailed in this disclosure, which is not intended to limit the scope of protection of the claims.

[0005] In a first aspect, an embodiment of the present disclosure provides an object computing storage system, comprising: a storage controller; and a storage chip or a storage disk connected to the storage controller, the storage controller being a computing storage management system, and comprising at least: receiving a data processing request from an external device, and analyzing information on a designated storage object, information on a designated function, and information on input data included in the data processing request; if it is determined that invoking the specified function for the specified storage object is supported, invoking the specified function based on the input data to perform a calculation on data of the specified storage object; and returning the calculation result to the sender of the data processing request.

[0006] In a second aspect, embodiments of the present disclosure provide a data processing method, adapted for an object computing storage system having computing capabilities, the method comprising: receiving a data processing request and analyzing information on a specified storage object, information on a specified function, and information on input data included in the data processing request; if it is determined that invoking the specified function for the specified storage object is supported, invoking the specified function based on the input data to perform a calculation on data of the specified storage object; and returning the calculation result to the sender of the data processing request.

[0007] In a third aspect, an embodiment of the present disclosure provides a data processing method, applied to a client, the method comprising: sending a data processing request to an object computing storage system having computing capabilities, the request including information on a specified storage object requiring data computation, information on a specified function, and information on input data; receiving a computation result returned from the object computing storage system, the computation result being obtained by calling the specified function based on the input data and performing a computation on data of the specified storage object.

[0008] In a fourth aspect, an embodiment of the present disclosure provides a CSP in an object computational storage system, comprising: a bus interface; and a logic circuit component coupled to the bus interface, the logic circuit component configured as a computational storage management system, thereby performing the data processing method described in any of the embodiments of the second aspect.

[0009] In a fifth aspect, an embodiment of the present disclosure provides a master chip of an SSD, comprising: a bus interface; and a logic circuit component coupled to the bus interface, the logic circuit component configured as a computational storage management system, thereby performing the data processing method described in any of the embodiments of the second aspect.

[0010] In a sixth aspect, an embodiment of the present disclosure provides a client, comprising: a communication interface; and a logic circuit component coupled to the communication interface, the logic circuit component configured as a computational storage management system, thereby performing the data processing method according to any of the embodiments of the third aspect.

[0011] In a seventh aspect, an embodiment of the present disclosure provides a non-volatile storage medium having computer instructions stored thereon, the instructions, when executed by a processor, causing the steps of the method according to any of the embodiments to be realized.

[0012] The object computing storage system, data processing method, client, and storage medium according to at least one embodiment of the present application have the following advantages over the prior art: The object computing storage system is expanded into a computing storage management system, allowing more big data processing to be performed on the storage side, realizing an architecture that integrates computing and storage, and having the beneficial effect of effectively reducing much of the computing energy consumption caused by data transport.

[0013] Other aspects may be understood after reading and understanding the accompanying drawings and detailed description. [Brief explanation of the drawings]

[0014] The drawings are intended to provide a better understanding of the technical solutions of the present disclosure, constitute a part of the specification, and are used to explain the technical solutions of the present disclosure together with the embodiments of the present disclosure, but are not intended to limit the technical solutions of the present disclosure.

[0015] [Figure 1A] FIG. 1A is an architectural block diagram of an object computing storage system according to an exemplary embodiment of the present disclosure. [Figure 1B] FIG. 1B is a structural block diagram of an object computing storage system according to another exemplary embodiment of the present disclosure. [Figure 1C] FIG. 1C is a structural block diagram of an object computing storage system according to yet another exemplary embodiment of the present disclosure. [Figure 2] FIG. 2 is a flowchart of a data processing method according to an exemplary embodiment of the present disclosure. [Figure 3] FIG. 3 is a flowchart of a data processing method according to another exemplary embodiment of the present application. [Figure 4] FIG. 4 is a structural block diagram of a CSP in an object computing storage system according to an exemplary embodiment of the present disclosure. [Figure 5] FIG. 5 is a structural block diagram of a master chip of an SSD according to an exemplary embodiment of the present disclosure. [Figure 6] FIG. 6 is a structural block diagram of a client according to an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0016] The following describes in detail the embodiments of the present disclosure with reference to the drawings. The embodiments and features of the embodiments in the present disclosure can be arbitrarily combined unless they conflict.

[0017] While multiple embodiments are described in this disclosure, the descriptions are illustrative rather than restrictive, and those skilled in the art will recognize that many more embodiments and implementations may exist within the scope of the embodiments described in this disclosure. While many possible combinations of features are shown in the drawings and discussed in specific embodiments, many other combinations of the disclosed features are possible. Unless otherwise limited, any feature or element of any embodiment can be used in combination with or substituted for any other feature or element of any other embodiment.

[0018] The present disclosure also contemplates and includes combinations with features and elements already known to those skilled in the art. The embodiments, features, and elements disclosed in the present disclosure may be combined with any conventional features or elements to form a solution defined by the claims. Any feature or element of any embodiment may be combined with a feature or element from another solution to form another solution defined by the claims. Therefore, it is understood that any feature shown and discussed in the present disclosure may be implemented alone or in any suitable combination. Therefore, the embodiments are not subject to any other limitations, except those defined by the claims and their equivalent substitutions. Furthermore, various modifications and variations are possible within the scope of protection of the claims.

[0019] Furthermore, in describing representative embodiments, the specification may present a method or process as a particular sequence of steps. However, to the extent that the method or process does not depend on the particular order of steps set forth in this disclosure, the method or process should not be limited to a particular order of steps. As will be understood by one of ordinary skill in the art, other orders of steps are possible. Accordingly, the particular order of steps set forth in the specification should not be construed as a limitation on the scope of the claims. Furthermore, claims to the method or process should not be limited to performing those steps in the order set forth; as will be readily apparent to one of ordinary skill in the art, the order can be varied and still be within the spirit and scope of the embodiments of the present disclosure.

[0020] This disclosure addresses a data-close computing scenario, particularly one in which a storage management system (e.g., a key storage system or an object storage system) is located on the data server side. Object storage systems are storage management systems commonly adopted in current data centers and cloud computing systems. They support operations such as Get, Put, and Delete of data. However, as a storage management system, they do not support or effectively support data processing functions.

[0021] FIG. 1A is a structural block diagram of an object computing storage system according to an exemplary embodiment of the present disclosure, FIG. 1B is a structural block diagram of an object computing storage system according to another exemplary embodiment of the present disclosure, and FIG. 1C is a structural block diagram of an object computing storage system according to yet another exemplary embodiment of the present disclosure. The object computing storage system is an object storage system having computing capabilities. As shown in FIGS. 1A to 1C, the object computing storage system may include a storage control device and a storage chip or a storage disk connected to the storage control device. The storage control device may be a computational storage management system, and at least: The device is configured to receive a data processing request from an external source, analyze information on a specified storage object, information on a specified function, and information on input data included in the data processing request, and if it is determined that calling the specified function for the specified storage object is supported, call the specified function based on the input data to perform calculations on data in the specified storage object, and return the calculation results to the sender of the data processing request.

[0022] The architecture and interface according to the embodiment of the present disclosure, the integrated computing and storage architecture, extends the object computing storage system to a computational storage management system, thereby enabling more big data processing on the storage side. As shown in Figures 1A to 1C, the object computing storage system may be connected to an external system (which may be referred to as an external requester), and the external system may act as a computational requester and send data processing requests to the object computing storage system on the storage side.

[0023] The external system may include a client, which may include a host or a mobile terminal, and the host may be a personal computer host or a cloud host.

[0024] The external requester can call the corresponding specified function by the information of the specified storage object (e.g., the identifier of the specified storage object) and the information of the specified function (e.g., the name or number of the specified function). The object computing storage system finds the specified function in the request from within itself, determines that calling the specified function for the specified storage object is supported, executes the specified function within the storage device, and returns the data calculation and processing result obtained by calling the specified function to the external requester.

[0025] The object computing storage system is located on the storage side and can interact with a client, and a storage control device provided in the object computing storage system may be configured as a computing storage management system, which receives a data processing request sent from a client to the object computing storage system, retrieves data of the specified storage object based on information of the specified storage object included in the data processing request, and if it determines that calling a specified function for the specified storage object is supported, calls the specified function based on input data to perform calculations on the data of the specified storage object, and returns the calculation results to the client.

[0026] A storage management system according to an embodiment of the present disclosure is integrated into the storage side (e.g., storage device) and can independently receive data processing requests sent from clients to the object computing storage system without requiring computational transition instructions between the host and the storage side (e.g., storage device).

[0027] In a storage management system of a conventional computing architecture, a software system that manages the storage addresses of storage objects in a block storage device is executed on a host. The block storage device itself is not intelligent and does not have information about the storage addresses of storage objects. This makes it very difficult to perform calculations close to storage and achieve power saving.

[0028] Compared with the storage management system of the traditional computing architecture, in the embodiment of the present disclosure, the computational storage management system can be integrated into the storage side (storage device), receive data processing requests from clients, and independently retrieve and operate on the data of the specified storage object based on the information of the specified storage object.

[0029] The computational storage management system according to the embodiment of the present disclosure does not have a host, and does not require the host to process a client request and then send a computation transition command to the storage device. Instead, it directly interacts with the client, receives a data processing request from the client, independently retrieves data, determines whether the computation is supported, and if so, performs the computation and returns the result to the client. If the request passes through the host in routing, the host only needs to forward the request, without performing any analysis or processing. The computing-storage interface is simpler, more efficient, and advantageous for industrial division of labor.

[0030] In one example, the computational storage management system may perform computations on the data of the specified storage object by, for example, loading a specified function, retrieving data of the specified storage object based on information of the specified storage object, and executing the specified function using the data of the specified storage object and input data as inputs to the specified function to obtain computation result data.

[0031] Then, the specified function in the request is found, and the computational storage management system loads the specified function, inputs the data of the specified storage object and the information of the input data in the request (the input data itself or the storage address of the input data), performs a calculation, obtains the computation result data, and returns the computation result data (the computation result data itself or the storage address of the computation result data) to the external requester.

[0032] In the object computing storage system according to the embodiment of the present disclosure, the object computing storage system is extended to a computing storage management system, which allows more big data processing to be performed on the storage side, realizes an architecture that integrates computing and storage, and can at least effectively reduce much of the computing energy consumption caused by data transport.

[0033] In one exemplary embodiment of the present disclosure, a computational storage management system may include a class library in which all supported functions are stored and the functions that a storage object can call are arranged according to the class of the storage object.

[0034] The computational storage management system may include a class library, in which one or more functions are stored for each object class, and the stored one or more functions are used to process and calculate data of the same class. An object may be assigned only one function, and if an object is assigned multiple functions, each function may have its own input data.

[0035] In the embodiments of the present disclosure, the concept of data classes is introduced, which facilitates multiplexing of code applied to computational storage, and data of the same class can be processed by one set of functions.

[0036] The computational storage management system determines whether calling a specified function for a specified storage object is supported by searching a class library based on class information of the specified storage object, and if it determines based on the search result that the object computational storage system can call the specified function, it determines that calling the specified function for the specified storage object is supported.

[0037] Upon receiving a data processing request sent from an external requester, the computational storage management system searches for a specified storage object in the storage based on the information of the object in the request, finds the object's data, and determines the object's class. The computational storage management system searches a class library based on the object's class, and if the number or name of the specified function in the request is found, loads the specified function and performs calculations using the object's data and the input data in the request. If the number or name of the specified function in the request is not found, it returns error information.

[0038] In one exemplary embodiment of the present disclosure, the information of the designated storage object may include an identifier of the designated storage object, and the computational storage management system may search the metadata of the designated storage object based on the identifier of the designated storage object to determine the class of the designated storage object.

[0039] Each storage object may include metadata, including class information. The computational storage management system can search for a specified storage object in storage based on the object's identifier to find the object's metadata and data, and the computational storage management system examines the metadata to determine the object's class.

[0040] In one alternative embodiment, the information of the designated storage object may include a class of the designated storage object and a selection condition for selecting the designated storage object from objects of that class.

[0041] In this embodiment, a data processing request sent from an external requester may include the class of a specified storage object, and the computational storage management system can directly search the class library based on the class of the object. If the number or name of the specified function in the request is found, it will load the specified function and input the data of the object and the input data in the request to perform computation. If the number or name of the specified function in the request is not found, it will return error information.

[0042] In one exemplary embodiment of the present disclosure, the information in the input data may include the input data itself.

[0043] In this embodiment, the data processing request sent from the external requester may include the input data itself, and the computational storage management system can directly input the input data as one of the specified functions and execute the specified function to obtain the computation result data.

[0044] In one alternative embodiment, the information about the input data may include a storage address of the input data, and the processing performed by the computational storage management system may further include retrieving the input data from the storage address based on the storage address of the input data using a communication protocol that directly reads memory.

[0045] In an exemplary embodiment of the present disclosure, a data processing request sent from an external requester does not include input data but includes a storage destination address for the input data, and the computational storage management system may read the input data and perform computation using a communication protocol that directly reads memory (e.g., PCIe or RDMA), where RDMA stands for Remote Direct Memory Access.

[0046] In one exemplary embodiment of the present disclosure, the computational result returned by the computational storage management system to the sender of the data processing request may be computational result data. In an exemplary embodiment of the present disclosure, the computational storage management system may return the computational result data directly to the external requester.

[0047] In one alternative embodiment, the computational result returned by the computational storage management system to the sender of the data processing request may be a storage address of the computational result data, and the computational storage management system stores the computational result data at the storage address using a communication protocol that directly reads the memory.

[0048] In an exemplary embodiment of the present disclosure, the computational storage management system may return a storage address of the computational result data to the external requester, and the computational storage management system may write the computational result data to the storage address using a communication protocol that directly reads memory (e.g., PCIe or RDMA).

[0049] In one example embodiment of the present disclosure, the specified storage object may include a specified database, the specified function may include a query, and the input data may include a query instruction.

[0050] The object class may be a relational database, the request function may be an SQL query, and the input data may be an SQL query instruction. The computational storage management system finds the corresponding database based on the specified database identifier (ID), inputs the SQL instruction to perform data search, and directly returns the search result, thereby avoiding sending a large amount of data to a computation server (e.g., a host) for simple comparison.

[0051] In one example embodiment of the present disclosure, the specified storage object may include a specified picture or video, the specified function may include processing of the picture or video, and the input data may include instructions for processing the picture or video.

[0052] The object class may be a picture or a video, the request function may be picture or video processing (e.g., face recognition in a picture), and the input data may be picture or video processing instructions (e.g., face recognition instructions). The computational storage management system finds the corresponding picture based on the specified picture's identifier (ID), inputs the face recognition instruction to perform face recognition, and directly returns the face recognition result.

[0053] In one exemplary embodiment of the present disclosure, as shown in FIG. 1B , the storage control device may include a Compute Storage Processor (CSP) board connected to a system high-speed serial computer expansion bus standard (Peripheral Component Interconnect Express, abbreviated as PCIe) bus, and the computational storage management system may be the CSP board, which operates in conjunction with an SSD with flash memory chips or a mechanical hard disk drive (HDD) with storage disks in the object computational storage system.

[0054] The computational storage management system and associated support hardware may be integrated into a CSP board that is inserted into a system's PCIe bus (e.g., inserted into a host) and receives and processes instructions from the computational storage management system and controls one or more SSDs or HDDs to perform storage and computational tasks. Both the CSP and SSDs are inserted into the system's PCIe bus, and communication between the CSP and SSDs is performed using the PCIe point-to-point protocol.

[0055] In an embodiment of the present disclosure, a CSP board defined by the international standard organization SNIA and a set of storage disks may be incorporated into a storage server for use in a data center. The computation server may include a host, which may be remotely connected to the CSP and SSD via a network, and the host may send computation storage instructions to the CSP and SSD. A client is defined as a service requester, and a computation server is defined as a service provider, which can provide services to the client. The host may be a client or a computation server.

[0056] In one alternative embodiment, the storage chip may be a flash memory chip of an SSD, and the storage controller may be a master chip of the SSD, as shown in FIG. 1C.

[0057] Conventional storage devices only support block address-based reads and writes and lack intelligent computing capabilities. In embodiments of the present disclosure, a computing storage management system and related hardware may be added to an SSD control chip, and the SSD control chip and a set of flash memory chips may form an SSD capable of performing computing tasks. The SSD may be directly inserted into a computing server (e.g., a host), and the host may send computing storage commands to the SSD.

[0058] A storage management system according to an embodiment of the present disclosure is integrated into the storage side (e.g., storage device) and can independently receive data processing requests sent from clients to the object computing storage system without requiring computational transition instructions between the host and the storage side (e.g., storage device).

[0059] In one exemplary embodiment of the present disclosure, as shown in FIG. 1A, the computing storage management module may include an interface module, a traffic control module, a storage management module, and a computing module.

[0060] The interface module is configured to communicate with an external system.

[0061] The traffic control module is configured to receive a data processing request from the outside via the interface module, analyze information on the specified storage object, information on the specified function, and information on the input data included in the data processing request, and return the calculation results obtained by the calculation module to the external system via the interface module.

[0062] The calculation module is configured to, if it determines that invoking the specified function for the specified storage object is supported, invoke the specified function based on the input data to perform a calculation on data of the specified storage object.

[0063] The storage management module is configured to read and store relevant data, for example, it can store information on input data included in a data processing request.

[0064] FIG. 2 is a flowchart of a data processing method according to an exemplary embodiment of the present disclosure, which can be applied to an object computing storage system shown in any of the embodiments having computing capabilities. As shown in FIG. 2, the data processing method may include the following steps S201 to S203.

[0065] S201: Receive a data processing request, and analyze information on a designated storage object, information on a designated function, and information on input data included in the data processing request.

[0066] S202, if it is determined that invoking the specified function for the specified storage object is supported, invoke the specified function based on input data to perform a calculation on the data of the specified storage object.

[0067] S203: The calculation result is returned to the sender of the data processing request.

[0068] In this embodiment, the object computational storage system can be extended to a computational storage management system, which allows more big data processing to be done on the storage side.

[0069] The external requester can call the corresponding specified function by the information of the specified storage object (e.g., the identifier of the specified storage object) and the information of the specified function (e.g., the name or number of the specified function). The object computing storage system finds the specified function in the request from within itself, determines that calling the specified function for the specified storage object is supported, executes the specified function within the storage device, and returns the data calculation and processing result obtained by calling the specified function to the external requester.

[0070] The data processing method according to the embodiments of the present disclosure is performed by the object computing storage system shown in any of the embodiments, and the implementation principles and effects thereof are similar, so they will not be described again here.

[0071] In one exemplary embodiment of the present disclosure, the computational storage management system may include a class library, in which all supported functions are stored, and the functions that the storage objects can call are arranged according to the class of the storage objects, and determining whether calling a specified function for a specified storage object is supported includes: This may include searching a class library based on class information of the specified storage object, and if it is determined based on the search results that the object computing storage system can invoke the specified function, determining that invoking the specified function is supported for the specified storage object.

[0072] In one exemplary embodiment of the present disclosure, the information of the designated storage object may include an identifier of the designated storage object, and before searching the class library based on the class information of the designated storage object, further: The method may include searching metadata of the specified storage object based on an identifier of the specified storage object to determine a class of the specified storage object.

[0073] In one exemplary embodiment of the present disclosure, the information in the input data may include the input data itself.

[0074] In one exemplary embodiment of the present disclosure, the information on the input data may include a storage address of the input data, and before invoking the specified function based on the input data, may further include retrieving the input data from the storage address based on the storage address of the input data using a communication protocol that directly reads memory.

[0075] In one exemplary embodiment of the present disclosure, invoking a specified function based on input data to perform a calculation on data in a specified storage object comprises: This may include loading a specified function and retrieving data of the specified storage object based on information of the specified storage object, and executing the specified function using the data of the specified storage object and the input data as inputs to the specified function to obtain calculation result data.

[0076] In one exemplary embodiment of the present disclosure, the calculation result may include calculation result data.

[0077] In one exemplary embodiment of the present disclosure, after obtaining the calculation result data with the specified function, the calculation result may further include storing the calculation result data in a specified storage location, and the calculation result includes a storage address of the calculation result data.

[0078] In one example embodiment of the present disclosure, the specified storage object may include a specified database, the specified function may include a query, and the input data may include a query instruction.

[0079] In one example embodiment of the present disclosure, the specified storage object may include a specified picture or video, the specified function may include processing of the picture or video, and the input data may include instructions for processing the picture or video.

[0080] 3 is a flowchart of a data processing method according to another exemplary embodiment of the present application, which can be applied to a client, where the client is a party requesting a calculation. As shown in FIG. 3, the data processing method may include the following steps S301 to S302.

[0081] S301: Send a data processing request to an object computing storage system having computing capabilities, including information on a designated storage object requiring data computation, information on a designated function, and information on input data.

[0082] S302, receiving a computation result returned from the object computation storage system, the computation result being obtained by calling a specified function based on input data and performing computation on data of a specified storage object.

[0083] The data processing requester may be a client (which may be referred to as an external requester) that requests computation, and calls the corresponding specified function based on the information of the specified storage object (e.g., the identifier of the specified storage object) and the information of the specified function (e.g., the name or number of the specified function). The object computing storage system finds the specified function in the request from within itself, determines that calling the specified function for the specified storage object is supported, executes the specified function within the storage device, and returns the data computation and processing results obtained by calling the specified function to the external requester.

[0084] In this embodiment, the party requesting the calculation can send a data processing request to the object computing storage system on the storage side and receive the calculation results from the object computing storage system on the storage side. The party requesting the calculation does not need to perform the calculation process after moving the data from the storage side. This realizes an architecture that integrates computing and storage, and can effectively reduce a lot of the computing energy consumption caused by data transportation.

[0085] The data processing method according to the embodiment of the present disclosure corresponds to the data processing method of the object computing storage system on the storage side, and the implementation principle and implementation effect are the same, so they will not be described again here.

[0086] In one exemplary embodiment of the present disclosure, the information of the input data may include the input data itself, or the information of the input data may include a storage address of the input data.

[0087] In one exemplary embodiment of the present disclosure, the calculation result may include calculation result data.

[0088] In one example, the calculation result may include a storage address of the calculation result data, and the data processing method may further include retrieving the calculation result data based on the storage address information of the calculation result data.

[0089] In one example embodiment of the present disclosure, the information of the designated storage object may include an identifier of the designated storage object.

[0090] In one exemplary embodiment of the present disclosure, the data processing method further includes, for the object computing storage system or the management center of the object computing storage system: Whether the object computing storage system supports computation; a class of objects whose computation is supported by the object computation storage system; The method may include querying information about at least one of the following functions provided by the object computing storage system for objects of one or more classes for which computing is supported:

[0091] FIG. 4 is a structural block diagram of a CSP in an object computing storage system according to an exemplary embodiment of the present disclosure. As shown in FIG. 4, the CSP in the object computing storage system includes: The object computing storage system may include a bus interface 41 and a logic circuit component 42 coupled to the bus interface, the logic circuit component configured as a computing storage management system, thereby performing the data processing method shown in any of the embodiments of the object computing storage system side.

[0092] In one example, the bus interface of the CSP may include a PCIe interface.

[0093] FIG. 5 is a structural block diagram of a master chip of an SSD according to an exemplary embodiment of the present disclosure. As shown in FIG. 5, the master chip of a solid state drive (abbreviated as SSD) includes: The object computing storage system may include a bus interface 51 and a logic circuit component 52 coupled to the bus interface, the logic circuit component configured as a computing storage management system, thereby performing the data processing method shown in any of the embodiments of the object computing storage system side.

[0094] In one example, the bus interface of the master chip of the SSD may include a PCIe interface.

[0095] In one example, as shown in FIG. 5, the master chip of the SSD may further include a flash interface 53 configured to be connected to a flash memory chip.

[0096] FIG. 6 is a structural block diagram of a client according to an exemplary embodiment of the present disclosure. As shown in FIG. 6, the client: The client may include a communications interface 61 and a logic component 62 coupled to the communications interface, the logic component configured as a computational storage management system to perform the data processing methods shown in any of the client embodiments.

[0097] An embodiment of the present disclosure further provides a non-volatile storage medium having computer instructions stored thereon, the instructions, when executed by a processor, achieving the steps of the data processing method described in any of the embodiments.

[0098] As will be understood by those skilled in the art, all or some steps of the methods, systems, and functional modules / units in the devices disclosed above can be implemented as software, firmware, hardware, or any suitable combination thereof. In hardware embodiments, the division between the functional modules / units mentioned above does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be performed by multiple physical components in cooperation. Some or all of the components may be implemented as software executed by a processor, such as a digital signal processor or microprocessor, or as hardware, or as an integrated circuit, such as a dedicated integrated circuit. Such software may be located on a computer-readable medium, which may include computer storage media (or non-transitory media) and communication media (or transitory media). As is well known to those skilled in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (e.g., computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium used to store the desired information and accessible by a computer. As known to those skilled in the art, communication media typically include computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier or other transport mechanism, and may include any information delivery media.

Claims

1. An object computing storage system comprising: a storage control device; and a storage chip or a storage disk connected to the storage control device, the storage control device being a computing storage management system, and at least: receiving a data processing request from an external device, and analyzing information on a designated storage object, information on a designated function, and information on input data included in the data processing request; if it is determined that invoking the specified function for the specified storage object is supported, invoking the specified function based on the input data to perform a calculation on data of the specified storage object; and returning a computation result to the sender of the data processing request.

2. 2. The object computing storage system of claim 1, wherein the storage chip is a flash memory chip of an SSD (Solid state drive / disk), and the storage control device is a master chip of the SSD.

3. 2. The object computing storage system of claim 1, wherein the storage control device comprises a CSP (Compute Storage Processor) board connected to a system PCIe (Peripheral Component Interconnect Express) bus, the computing storage management system is the CSP board, and the CSP board operates in conjunction with an SSD having a flash memory chip or an HDD (Hard disk drive) having a storage disk within the object computing storage system.

4. 2. The object computational storage system of claim 1, wherein the computational storage management system performs computation on the data of the specified storage object in the following manner: loading the specified function, extracting data of the specified storage object based on information of the specified storage object, and executing the specified function using the data of the specified storage object and the input data as inputs to the specified function to obtain computation result data.

5. The computational storage management system comprises a class library, in which all supported functions are stored, and functions that can be called by storage objects are arranged according to the class of the storage object; 2. The object computing storage system of claim 1, wherein the computing storage management system determines whether calling the specified function for the specified storage object is supported by searching the class library based on class information of the specified storage object, and if the object computing storage system determines based on the search results that it can call the specified function, determining that calling the specified function for the specified storage object is supported.

6. the specified storage object comprises a specified database, the specified function comprises a query, and the input data comprises a query instruction; or The object computing storage system of claim 1 , wherein the specified storage object comprises a specified picture or video, the specified function comprises processing a picture or video, and the input data comprises picture or video processing instructions.

7. The object computational storage system of claim 6, wherein the information about the designated storage object includes an identifier of the designated storage object, and the computational storage management system searches metadata of the designated storage object based on the identifier of the designated storage object to determine the class of the designated storage object.

8. The information in the input data includes the input data itself; or 2. The object computational storage system of claim 1, wherein the information about the input data includes a storage address of the input data, and the processing performed by the computational storage management system further includes retrieving the input data from the storage address based on the storage address of the input data using a communication protocol that directly reads memory.

9. The object computational storage system according to claim 1, wherein the computational result returned by the computational storage management system to the sender of the data processing request is computational result data or a storage address of the computational result data, and the computational storage management system stores the computational result data at the storage address using a communication protocol that directly reads memory.

10. 1. A data processing method applied to an object computing storage system having computing capabilities, said method comprising: receiving a data processing request and analyzing information on a specified storage object, information on a specified function, and information on input data included in the data processing request; if it is determined that invoking the specified function for the specified storage object is supported, invoking the specified function based on the input data to perform a calculation on data of the specified storage object; and returning a calculation result to the sender of the data processing request.

11. The computational storage management system comprises a class library, in which all supported functions are stored, and functions that can be called by storage objects are arranged according to the class of the storage object; Determining whether invoking the specified function for the specified storage object is supported comprises: searching the class library based on class information of the specified storage object; and if it is determined based on the search result that the object computing storage system can invoke the specified function, determining that invoking the specified function for the specified storage object is supported; 11. The method of claim 10, wherein the information about the specified storage object includes an identifier of the specified storage object, and before searching the class library based on the class information of the specified storage object, the method further includes searching metadata of the specified storage object based on the identifier of the specified storage object to determine the class of the specified storage object.

12. The information in the input data includes the input data itself; or 11. The method of claim 10, wherein the information on the input data includes a storage address of the input data, and before invoking the specified function based on the input data, the method further includes retrieving the input data from the storage address based on the storage address of the input data using a communication protocol that directly reads memory.

13. Invoking the specified function based on the input data to perform a calculation on the data of the specified storage object includes: loading the specified function and retrieving data of the specified storage object based on information of the specified storage object; executing the specified function using the data of the specified storage object and the input data as inputs to the specified function to obtain calculation result data; the calculation result includes calculation result data; or 13. The method of claim 10 or 12, wherein after executing the specified function and obtaining calculation result data, the method further includes storing the calculation result data in a specified storage location, and the calculation result includes a storage address of the calculation result data.

14. 1. A data processing method applied to a client, said method comprising: sending a data processing request to an object computing storage system having computing capabilities, the request including information on a specified storage object requiring data computation, information on a specified function, and information on input data; receiving a computation result returned from the object computing storage system, the computation result being obtained by calling the specified function based on the input data and performing a computation on data of the specified storage object.

15. The information of the input data includes the input data itself, or the information of the input data includes a storage address of the input data; the calculation result includes calculation result data; or The method of claim 14 , wherein the calculation result includes a storage address of calculation result data, and the method further includes retrieving the calculation result data based on storage address information of the calculation result data.

16. The method further comprises the steps of: Whether the object computing storage system supports computing; a class of objects for which computation is supported by the object computing storage system; 15. The method of claim 14, comprising querying information about at least one of the following functions provided by the object computing storage system for objects of one or more classes for which computing is supported: