WO2023036009A1 - 计算系统、存储设备 - Google Patents

计算系统、存储设备 Download PDF

Info

Publication number
WO2023036009A1
WO2023036009A1 PCT/CN2022/115723 CN2022115723W WO2023036009A1 WO 2023036009 A1 WO2023036009 A1 WO 2023036009A1 CN 2022115723 W CN2022115723 W CN 2022115723W WO 2023036009 A1 WO2023036009 A1 WO 2023036009A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage
data
memory
feature information
information
Prior art date
Application number
PCT/CN2022/115723
Other languages
English (en)
French (fr)
Inventor
何伟
祝夭龙
Original Assignee
北京灵汐科技有限公司
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
Priority claimed from CN202111051844.5A external-priority patent/CN113849454A/zh
Priority claimed from CN202111050484.7A external-priority patent/CN113836332A/zh
Application filed by 北京灵汐科技有限公司 filed Critical 北京灵汐科技有限公司
Publication of WO2023036009A1 publication Critical patent/WO2023036009A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • 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

Definitions

  • Embodiments of the present disclosure relate to the technical field of data processing and storage, and more specifically, embodiments of the present disclosure relate to a computing system and a storage device.
  • AI Artificial Intelligence, Artificial Intelligence
  • a non-volatile memory such as a solid state disk (Solid State Disk, SSD) or a flash memory (Flash Memory)
  • a RAM such as double data rate (Double Data Rate, DDR) synchronous dynamic random access memory
  • this method has a large amount of data transfer and a large amount of calculation for the processing chip, resulting in high power consumption and difficulty in improving the calculation speed.
  • embodiments of the present disclosure at least provide a computing system and a storage device.
  • the present disclosure provides a computing system, including a processing device and a storage device; the storage device includes a computing unit; wherein, the storage device is used to use the computing unit to perform computing processing on the stored data in the storage device, Obtaining an intermediate processing result; the processing device is configured to receive the data to be processed sent by the storage device and corresponding to the intermediate processing result, and perform calculation processing according to the received data to be processed to obtain a target processing result.
  • the processing device includes a first processing device and a second processing device; wherein the first processing device is configured to distribute computing tasks to the storage device and the second processing device; the storage The device is used to use the calculation unit to perform calculation processing on the stored data in the storage device according to the received calculation task to obtain an intermediate processing result; the second processing device is used to receive the data sent by the storage device and the The data to be processed corresponding to the intermediate processing result is calculated and processed according to the received computing task to obtain the target processing result.
  • the present disclosure also provides a storage device, including a memory and a computing unit; wherein the memory is used to store first feature information of at least one storage object and at least one piece of storage data corresponding to each storage object, wherein the first The feature information is obtained by feature extraction of at least one piece of storage data corresponding to the storage object; the calculation unit is used to obtain second feature information of the retrieved data, and according to the second feature information and the The comparison result of the first feature information determines the target feature information, and the corresponding target retrieval data is obtained according to the target feature information.
  • the computing system includes a processing device and a storage device; the storage device includes a computing unit; wherein the storage device is used to use the computing unit to perform computing processing on the stored data in the storage device , to obtain an intermediate processing result; the processing device is configured to receive the data to be processed sent by the storage device and corresponding to the intermediate processing result, and perform calculation processing according to the received data to be processed to obtain a target processing result.
  • the processing device can only perform part of the calculation and processing on the stored data to obtain the target processing result, thereby reducing data handling, reducing power consumption and improving performance. processing speed.
  • FIG. 1 schematically shows a schematic structural diagram of a computing system proposed according to an embodiment of the present disclosure
  • FIG. 2 schematically shows a schematic structural diagram of another computing system proposed according to an embodiment of the present disclosure
  • FIG. 3 schematically shows a schematic structural diagram of another computing system proposed according to an embodiment of the present disclosure
  • Fig. 4 schematically shows a schematic diagram of a data structure in a computing system proposed according to an embodiment of the present disclosure
  • FIG. 5 schematically shows a flowchart of a proposed data processing method according to an embodiment of the present disclosure
  • FIG. 6 schematically shows a schematic structural diagram of a storage device proposed according to an embodiment of the present disclosure
  • FIG. 7 schematically shows a schematic diagram of a data structure in a storage device according to an embodiment of the present disclosure
  • FIG. 8 schematically shows a schematic structural view of a solid state disk according to an embodiment of the present disclosure
  • Fig. 9 schematically shows a schematic structural diagram of another solid-state hard disk proposed according to an embodiment of the present disclosure
  • FIG. 10 schematically shows a schematic structural diagram of a flash memory proposed according to an embodiment of the present disclosure
  • FIG. 11 schematically shows a schematic structural diagram of another flash memory proposed according to an embodiment of the present disclosure.
  • FIG. 12 schematically shows a schematic structural diagram of a double-rate synchronous DRAM proposed according to an embodiment of the present disclosure
  • Fig. 13 schematically shows a schematic structural diagram of a data retrieval system proposed according to an embodiment of the present disclosure
  • Fig. 14 schematically shows a flow chart of a data storage method proposed according to an embodiment of the present disclosure
  • Fig. 15 schematically shows a flow chart of a data retrieval method proposed according to an embodiment of the present disclosure
  • Fig. 16 schematically shows a schematic structural diagram of a data storage device proposed according to an embodiment of the present disclosure
  • Fig. 17 schematically shows a schematic structural diagram of a data retrieval device proposed according to an embodiment of the present disclosure.
  • Fig. 18 schematically shows a schematic structural diagram of an electronic device proposed according to an embodiment of the present disclosure
  • Fig. 19 schematically shows a flow chart of a data processing method proposed according to an embodiment of the present disclosure
  • Fig. 20 schematically shows a schematic structural diagram of a proposed data processing system according to an embodiment of the present disclosure.
  • Embodiments of the present disclosure may be implemented as a system, device, device, method or computer program product.
  • the specific implementation of the present disclosure may be in the following forms: complete hardware, complete software (including firmware, resident software, microcode, etc.), or a combination of hardware and software.
  • FIG. 1 A computing system proposed by an embodiment of the present disclosure is shown in FIG. 1 , the computing system may include a processing device 1 and a storage device 130 , and the storage device 130 includes a computing unit 140 .
  • the storage device 130 is used to use the calculation unit 140 to perform calculation processing on the stored data in the storage device 130 to obtain an intermediate processing result;
  • the processing device 1 is used to receive the data to be processed corresponding to the intermediate processing result sent by the storage device 130, And perform calculation and processing according to the received data to be processed to obtain the target processing result.
  • the calculation unit 140 in the storage device 130 can directly obtain the stored data in the storage device 130 and perform preliminary processing to obtain an intermediate processing result; and the storage device 130 can also convert the data corresponding to the intermediate processing result
  • the data to be processed is sent to the processing device 1, so the processing device 1 only needs to perform some subsequent processing on the data obtained through preliminary processing to obtain the target processing result.
  • the computing system includes a processing device 1 and a storage device 130; the storage device 130 includes a computing unit 140; wherein, the storage device 130 is used to use the computing unit 140 to perform computing processing on the stored data in the storage device 130, Obtaining the intermediate processing result; the processing device 1 is configured to receive the data to be processed corresponding to the intermediate processing result sent by the storage device 130 , and perform calculation processing according to the received data to be processed to obtain the target processing result.
  • the processing device 1 can only perform partial calculation processing on the stored data to obtain the target processing result, thereby reducing data handling, Reduce power consumption and increase processing speed.
  • the data to be processed includes a portion of the stored data.
  • the storage device 130 may select a part of the stored data in its internal storage according to the intermediate processing result and send it to the processing device 1 for further processing by the processing device 1 . Therefore, the processing device 1 only needs to process a small amount of data preliminarily screened by the storage device 130, instead of processing all stored data, which reduces the amount of data transmission and processing, and reduces power consumption of the system.
  • the form of the data to be processed is not limited thereto, for example, the data to be processed may also be an "indirect result" calculated by the computing unit 140 based on the stored data, rather than the stored data itself.
  • a processing device 1 includes a first processing device 110 and a second processing device 120 .
  • the first processing device 110 may be a central processing unit CPU
  • the second processing device 120 may be a processing chip, further an artificial intelligence chip (AI chip)
  • the computing unit 140 may be an artificial intelligence computing unit (AI computing unit).
  • AI computing unit an artificial intelligence computing unit
  • the second processing device 120 may be an AI chip.
  • the storage device 130 may include non-volatile memories such as SSD or Flash Memory, and may also include random access memories such as DDR.
  • the first processing device 110 , the second processing device 120 and the storage device 130 are connected through the bus 100 .
  • the first processing device 110 is used to distribute computing tasks to the second processing device 120 and the storage device 130 .
  • the computing unit 140 in the storage device 130 and the second processing device 120 can jointly complete the computing tasks.
  • the number of the first processing device 110, the second processing device 120, and the storage device 130 may be one or more, and this embodiment does not limit the specific number of devices.
  • the computing unit 140 included in the storage device 130 has weaker computing capabilities than the first processing device 110 or the second processing device 120, and can be used to perform some specific computing tasks assigned by the first processing device 110.
  • the calculation task allocated to the calculation unit 140 in the storage device 130 may be, for example, a cosine comparison task.
  • the storage device 130 is configured to use the calculation unit 140 to perform calculation processing on the stored data in the storage device 130 according to the received calculation task, and obtain an intermediate processing result.
  • the original data stored in the storage device 130 is processed by the computing system, which may be image data, audio files and so on.
  • the calculation unit 140 in the storage device 130 may perform calculation processing on locally stored data to obtain an intermediate processing result.
  • the calculation unit performs cosine comparison processing on the locally stored data, and obtains the retrieval result as the intermediate processing result.
  • the second processing device 120 is configured to receive the data to be processed and corresponding to the intermediate processing result sent by the storage device 130 , and perform calculation processing on the data to be processed according to the received computing task to obtain a target processing result.
  • the storage device 130 may determine the corresponding data to be processed according to the intermediate processing result, and optionally, the data to be processed is a part of the stored data. That is to say, the storage device 130 does not send all the stored data to the second processing device 120 , but sends part of the stored data corresponding to the intermediate processing result to the second processing device 120 . By discarding stored data irrelevant to the computing tasks of the second processing device 120, data transmission can be reduced and system power consumption can be reduced.
  • the computing system includes a first processing device 110, a second processing device 120, and a storage device 130
  • the storage device 130 includes a computing unit 140
  • the first processing device 110 is used to provide data to the storage device 130 and the second processing device 120 distributes computing tasks
  • the storage device 130 is used to use the computing unit 140 to perform calculation processing on the stored data in the storage device 130 according to the received computing tasks to obtain intermediate processing results
  • the second processing device 120 is used to receive the data sent by the storage device 130
  • the data to be processed corresponding to the intermediate processing result is calculated and processed according to the received computing task to obtain the target processing result, wherein the data to be processed includes a part of the stored data.
  • the calculation unit 140 in the storage device 130 and the second processing device 120 together complete the calculation, so that the second processing device 120 can perform calculation processing on part of the stored data to obtain the target Processing results, which can reduce data handling, reduce power consumption, and increase processing speed.
  • FIG. 3 shows another computing system proposed by an embodiment of the present disclosure.
  • the storage device 130 in the computing system includes a first memory 1301 and a second memory 1302, the first memory 1301 includes a first computing unit 1401, and the second memory 1302 includes a second computing unit 1402 (so the computing The unit 140 includes a first calculation unit 141 and a second calculation unit 1402).
  • the first memory 1301 can be a non-volatile memory, such as SSD or Flash Memory;
  • the second memory 1302 is a random access memory, such as DDR.
  • calculation and processing can be performed on the stored data in the storage device 130 by the following method to obtain an intermediate processing result.
  • the first storage 1301 is used to use the first calculation unit 1401 to perform calculation processing on the stored data in the first storage 1301 to obtain a first processing result.
  • the computing processing on the stored data is executed according to the computing tasks distributed by the first processing device 110, and the computing tasks are executed according to the computing capabilities of the first computing unit 1401 in the first storage 1301 and the various processing in the overall system It is determined by the task coordination between the devices.
  • the second memory 1302 is used to receive and store the first data to be processed corresponding to the first processing result sent by the first memory 1301, and the first data to be processed includes a part of the stored data; the second memory 1302 is also used to use the first data to be processed
  • the second calculation unit 1402 performs calculation processing on the first data to be processed in the second memory 1302 to obtain an intermediate processing result.
  • data transmission may be performed between the first memory 1301 and the second memory 1302 , for example, the first data to be processed corresponding to the first processing result may be sent to the second memory 1302 .
  • the embodiments of the present disclosure can reduce the amount of data by transferring a part of the stored data to the memory DDR. Handling, reduce system power consumption.
  • the second memory 1302 After the second memory 1302 receives the first data to be processed from the first processing device 110, it first stores the first data to be processed, and then uses the second calculation unit 1402 to process the first data to be processed in the second memory 1302 The data is calculated and processed to obtain intermediate processing results. Since the second memory 1302 stores the first data to be processed, the second calculation unit 1402 can directly perform calculations on the locally stored first data to be processed to obtain an intermediate processing result.
  • the calculation task may be an AI calculation task, and all raw data are stored in the first memory 1301, and the first calculation unit 1401 performs preliminary calculation and/or screening on the raw data based on the assigned AI task, and The calculation result and/or the filtered corresponding data are sent to the second memory 1302, and the second calculation unit 1402 performs further calculation and/or further screening, and finally sends the calculated and/or filtered data to the AI chip, through the above Calculate and/or filter data level by level to avoid moving all data.
  • multiple original images are stored in the first memory 1301, and the first calculation unit 1401 in the first memory 1301 first performs image recognition on the multiple original images stored locally, and uses the recognition results that meet the set requirements as The first processing result. For example, "person, dog, house” recognized from the original image is taken as the first processing result.
  • the first memory 1301 can acquire images whose recognition results include “person, dog, house” among multiple original images as the first data to be processed according to the recognition result of "person, dog, house”, and send the first data to be processed to the second memory 120 for further AI processing.
  • the second memory 120 may further identify each identification type in the first processing result to obtain an intermediate processing result.
  • the second calculation unit 1402 in the second storage 1302 further identifies the original image to obtain the "age, gender, height” and other information.
  • body parts such as "hands, feet, face, ears” can be further identified in the human body included in the original image.
  • the intermediate processing result may be structured data, and the data to be processed together with the intermediate processing result may be fed back to the second processing device 120 .
  • the first computing unit 1401 in the first memory 1301 and the second computing unit 1402 in the second memory 1302 may be a speech computing unit, an image computing unit, or other types of computing units, Embodiments of the present disclosure are not limited to specific types of computing units.
  • the first calculation unit 1401 and the second calculation unit 1402 may implement digital calculations through multipliers, and implement analog calculations through in-memory calculations.
  • the data to be processed received by the second processing device 120 includes at least one of video data, audio data, distance data, and center of gravity data.
  • the data to be processed received by the AI chip may be multi-dimensional data, and the AI chip integrates the multi-dimensional data for intelligent decision-making and judgment.
  • the computing system needs to search all the stored data in the storage device 130, obtain the storage location of the target storage data matching the retrieved data in the storage device 130, and obtain the target Storing data.
  • the storage device 130 in the computing system includes a first memory 1301 and a second memory 1302, the first memory 1301 includes a first computing unit 1401, and the second memory 1302 includes a second The calculation unit 1402 (so the calculation unit 140 includes a first calculation unit 141 and a second calculation unit 1402).
  • the second memory 1302 may store index information of the stored data in the first memory 1301 , and the index information includes information used to indicate the storage location of the stored data in the first memory 1301 .
  • the second memory 1302 uses the second computing unit 1402 to determine, among the stored index information, target index information that matches the search data (ie, the information on which the search is based). For example, the second computing unit 1402 can be used to compare the retrieval data information with the index information, and obtain the target index information according to the comparison result, that is, one or more index information closest to the retrieval data information as the target index information. Since the index information in the second memory 1302 is associated with the storage location of the stored data in the first memory 1301, the corresponding stored data in the first memory 1301 can be determined through the target index information, so that the data to be processed can be obtained (intermediate processing results).
  • the index information can be used to determine the data to be processed that matches the retrieved data in the first memory 1301, reducing the amount of calculation , to improve retrieval speed.
  • the index information of the stored data in the second memory 1302 includes the first characteristic information of the stored data.
  • the storage data may be stored in units of storage objects.
  • the storage objects may include various types such as people, animals, objects, virtual objects, etc., and the present disclosure does not limit the specific types of storage objects.
  • the first characteristic information is obtained by performing characteristic extraction on at least one piece of storage data corresponding to the storage object.
  • the stored data of the storage object may be images of people, and each person corresponds to one or more images. By performing feature extraction on one or more images corresponding to each person, the first feature information corresponding to the stored object can be obtained.
  • the stored data of the storage object may be audio (voice) files of people, and each person corresponds to one or more audio files.
  • the first feature information corresponding to the storage object can be obtained.
  • the first characteristic information corresponding to different storage data of the same storage object may be the same.
  • multiple different images of the same person may correspond to the same first feature information; another example, images of the same person wearing different clothes, or images of the same person at different angles may correspond to the same first feature information;
  • images of multiple people with similar appearances, such as images of twins or multiple births may correspond to the same first feature information.
  • the index information corresponds to the stored data, that is, the stored data of the storage object corresponding to the first feature information of the target index information, that is, the data to be processed (intermediate processing result) that matches the retrieved data.
  • the index information of the stored data further includes storage information of the stored data in the first memory, and the first characteristic information of the stored data is associated with the stored information.
  • the storage information is used to indicate the storage address of the storage data of the storage object, and may include a start address of the storage data and a storage length, wherein the storage length is determined according to the size of at least one piece of storage data corresponding to the storage object.
  • calculation and processing can be performed on the stored data in the storage device 130 by the following method to obtain an intermediate processing result.
  • the second computing unit 1402 in the second memory 1302 is used to compare the second characteristic information of the retrieved data with the first characteristic information of the stored data in the second memory 1302, and determine the target characteristic information according to the comparison result.
  • the target characteristic information may be one or more first characteristic information closest to the second characteristic information of the retrieved data.
  • the second characteristic information is obtained by performing characteristic extraction on the retrieval data.
  • the first calculation unit 1401 in the first memory 1301 uses the first calculation unit 1401 in the first memory 1301, according to the target storage information associated with the target feature information, obtain the corresponding data to be processed in the first memory 1301, and send the data to be processed to the second processing device 120. Since the first feature information of the data stored in the second storage 1302 is associated with the storage information of the stored data in the first storage 1301, according to the target feature information, it can be determined that the target data matching the retrieved data is stored in the first storage 1301. , and find the stored data in the first memory 1301 according to the stored information as an intermediate result.
  • each storage object stored in the memory corresponds to Then store the first characteristic information and storage information, the storage information indicates the storage address of the storage data of the storage object.
  • first feature information of the multiple images of the person is stored in the memory, and the first feature information is associated with the stored information of the multiple images.
  • the storage device 130 is SSD or Flash Memory
  • some stored data can be selected based on the local AI computing unit and transferred to the memory for comparison processing, and then the processed The processed part of the stored data is sent to the CPU or AI chip other than the storage device 130 for further comparison processing to obtain the final retrieval result; compared with transferring all the stored data to the memory for comparison processing, it reduces data transfer and reduces Device power consumption.
  • storing the first characteristic information of the storage object and the stored data in different areas can realize the separation of the first characteristic information and the stored data, so that the change of the first characteristic information does not affect the stored data.
  • the size of the feature map contained in the first feature information increases, however, due to the first feature Information and stored data are stored separately, so the actual stored data will not change.
  • the first characteristic information of the stored data and the storage information of the stored data in the first memory 1301 as index information in the second memory 1302
  • combining the first characteristic information of the stored data with the stored Information association can achieve access to corresponding stored data using the first feature information as an index, avoiding the need to transfer all stored data to the memory for comparison processing, reduce data transfer, and increase the speed of data retrieval.
  • the first characteristic information can be used as an index Accessing the corresponding stored data avoids transferring all stored data to the memory for comparison processing, reduces data transfer, and improves the speed of data retrieval.
  • the second storage 1302 is divided into multiple storage blocks, and the first feature information and associated storage information of the storage data in the first storage 1301 are stored in the multiple storage blocks according to preset rules. Wherein, each storage block corresponds to at least one storage object.
  • the second storage 1302 is configured to use the second calculation unit 1402 to compare the second feature information of the retrieved data with the third feature information corresponding to the storage block in the second storage 1302, determine the target storage block according to the comparison result, and use The second feature information of the retrieved data is compared with the first feature information in the target storage block to obtain the target feature information, and the third feature information corresponding to the storage block is determined according to the first feature information stored in the storage block.
  • the setting storage area in the second memory 1302 can be divided into areas in a multi-level manner.
  • the first feature information of multiple storage objects is stored in the set storage area in the second storage 1302
  • the first feature information of one or more of the multiple storage objects can be divided into the same storage In the block, multiple storage blocks of the first level are obtained.
  • any storage block of the first level still contains the first feature information of multiple storage objects, it can be further divided in a similar manner to obtain multiple storage blocks of the second level, and so on.
  • the multiple storage blocks are obtained by dividing the second memory 1302 based on a target sorting result, wherein the target sorting result is obtained by sorting the first feature information stored in the second memory 1302 based on a preset rule . That is, the sorted adjacent first feature information is divided into the same storage block or adjacent storage blocks.
  • the set storage area in the second memory 1302 can be divided into areas in the following manner.
  • the preset rule may be set according to the characteristics of the storage object itself. For example, when images of a plurality of persons are stored in the memory, they can be sorted according to their ages. For example, the first characteristic information corresponding to the younger person is stored earlier.
  • Sorting may also be performed according to other rules, for example, sorting may be performed according to the number of times the first characteristic information is searched. For example, the more times the first characteristic information of a storage object is searched, the higher the first characteristic information of the storage object is arranged. Then, when applied to a data retrieval scenario, the first feature information will be compared earlier.
  • the set storage area in the second memory 1302 is divided into multiple storage blocks according to the sorting result.
  • the first feature information with similar sorting results may be stored in the same storage block.
  • the storage area is set to include first feature information of multiple storage objects
  • the first feature information of every n storage objects may be stored in the same storage block according to the sorting result of the first feature information.
  • the set storage area is divided according to the sorting result of the first feature information, so that the first feature information with similar rankings can be stored in the same storage block.
  • the multiple storage blocks are obtained by dividing the first feature information of at least two storage objects whose similarity is higher than a set threshold in the second memory 1302 into the same storage block.
  • the set storage area can be divided into areas according to the following manner.
  • the similarity of the first feature information between every two storage objects is acquired.
  • the similarity of the first feature information between two storage objects can be determined according to the Euclidean distance between the feature vectors corresponding to the two first feature information, or can be calculated in other ways.
  • the calculation method of degree is not limited.
  • the first feature information of at least two storage objects whose similarity is higher than the set threshold is divided into (or stored in) the same storage block.
  • the similarity of the first feature information between every two storage objects is higher than the set threshold, or it may be that one of the storage objects is different from at least one other storage object.
  • the similarity of the first feature information between objects is higher than a set threshold.
  • storage objects with similar first feature information can be stored in the same storage block.
  • Fig. 4 schematically shows a schematic diagram of the structure of the second storage 1302 according to an embodiment of the present disclosure.
  • the set storage area 20 in the second storage 1302 stores the first
  • the storage data of the storage object is stored in the first storage 1301
  • the first characteristic information of the storage object is associated with the storage information of the storage data of the storage object in the first storage 1301 . That is, the first characteristic information of the object is stored in the second memory 1302 as index information.
  • the first characteristic information of storage object 1 is characteristic value 1
  • the storage data of storage object 1 is picture 1
  • characteristic value 1 is associated with storage address 1 of picture 1
  • the first characteristic information of storage object 2 is characteristic value 2.
  • the storage data of storage object 2 is picture 2a and picture 2b, and the feature value 2 is associated with the storage address 2 of picture 2a and picture 2b; the first feature information of storage object 3 is feature value 3, and the storage of storage object 3
  • the data is picture 3, and feature value 3 is associated with storage address 3 of picture 3.
  • the setting storage area 20 is divided into a plurality of storage blocks, which may also be referred to as feature value blocks. As shown in FIG. , the characteristic value 2 of the storage object 2 and the characteristic value 3 of the storage object 3 (of course, the storage address 2 and the storage address 3 are also stored in the characteristic value block B).
  • the first characteristic information of the storage object may be obtained through the following method.
  • feature extraction is performed on one of the stored data corresponding to the stored object to obtain sub-feature information.
  • the sub-feature information of the image can be extracted by using, for example, a convolutional neural network.
  • the first characteristic information of the storage object is obtained.
  • the first feature information of the storage object can be obtained by cascading the sub-feature information of each stored data; for another example, the sub-feature information of each stored data can be averaged or averagely weighted to obtain The first feature information of the object is stored.
  • the storage data in the storage device 130 can be calculated and processed by the following method , to get intermediate processing results.
  • the second calculation unit 1402 in the second storage 1302 uses the second calculation unit 1402 in the second storage 1302 to compare the second characteristic information of the retrieved data with the third characteristic information corresponding to the storage block in the second storage 1302, determine the target storage block according to the comparison result, and store The third characteristic information corresponding to the block is determined according to the first characteristic information stored in the storage block. For example, one or more storage blocks whose third characteristic information is closest to the second characteristic information may be determined as target storage blocks.
  • the second characteristic information of the retrieved data is compared with the first characteristic information in the target storage block to obtain the target characteristic information.
  • the scope of comparison can be narrowed, reducing The amount of data processed improves retrieval speed.
  • the computing system includes a first processing device (CPU), a second processing device (AI chip), a first memory 1301 (SSD or Flash Memory) and a second memory 1302 (DDR) , wherein the first memory 1301 includes a first computing unit 1401 (AI computing unit), and the second memory 1302 includes a second computing unit 1402 (AI computing unit). All the images to be retrieved are stored in the first storage 1301 , and the data storage manner in the second storage 1302 can refer to the description in FIG. 4 , which will not be repeated here.
  • the CPU distributes AI tasks to the first memory 1301, the second memory 1302, and the AI chip, that is, instructs the first computing unit 1402 in the first memory 1301, the second computing unit 1402 in the second memory 1302, and the AI chip Computational tasks to be performed.
  • the second calculation unit 1402 compares the second characteristic information of the search image with the first characteristic information of the stored data in the second memory 1302, wherein the first characteristic information and the second characteristic information are, for example, 1*512 characteristic data, Or 2*512 feature data.
  • the second calculation unit 1402 determines one or more pieces of first feature information closest to the second feature information according to the comparison result.
  • the first computing unit 1401 determines one or more corresponding original images in the first memory 1301 as the data to be processed according to the determined one or more closest first characteristic information, for example, obtains 10 images closest to the target image.
  • the image is used as the data to be processed, and the data to be processed is sent to the AI chip.
  • the AI chip directly compares the target image with the received data to be processed, and finally determines the image that matches the target image.
  • a data processing method provided by an embodiment of the present disclosure can be executed based on a computing system of an embodiment of the present disclosure. Referring to FIG. 5 , the method includes:
  • the storage device uses a calculation unit to perform calculation processing on the stored data in the storage device to obtain an intermediate processing result.
  • the storage device sends the intermediate processing result to the processing device.
  • the processing device receives the data to be processed and corresponding to the intermediate processing result sent by the storage device.
  • the processing device performs calculation processing according to the received data to be processed, and obtains a target processing result.
  • the amount of data to be compared stored in the storage system is usually very large, such as face retrieval or fingerprint retrieval, etc., and the data volume may be more than 10G.
  • the data retrieval method is usually to transfer the data to be compared in the storage system to the memory in sequence through the CPU (central processing unit) or processing chip, and compare and calculate the search object with the data to be compared to obtain target data.
  • the CPU or AI chip needs to sequentially transfer the images to be compared in the storage system to the memory, compare and calculate the retrieved image with the image to be compared, and obtain the associated image corresponding to the retrieved image . For example, based on the photos and portraits of the target person, the corresponding or similar photos, attribute information, etc. are searched from the database.
  • an embodiment of the present disclosure proposes a storage device, aiming at reducing data transfer in data retrieval applications to reduce power consumption of the device and improve search efficiency.
  • FIG. 6 schematically shows a schematic structural diagram of a storage device 200 proposed according to an embodiment of the present disclosure.
  • the storage device 200 may include a computing unit 210 and a memory 220 .
  • the storage device 200 includes a computing unit 210 and a memory 220
  • the computing unit 210 is directly a part of the storage device 200, or is directly integrated with the memory 220; ) in the case of directly acquiring and processing the data in the memory 220.
  • other processing units outside the storage device 200 such as the processing device 1 above
  • the storage device 200 can be the storage device 130 in the above computing system of the embodiment of the present disclosure, so the computing unit 210 in the storage device 200 can be the above computing unit 140, which can be further divided into the first computing unit 141 and the second computing unit.
  • Two computing unit 1402; and the memory 220 may be the part specifically used for storage after removing the computing unit 140 in the above memory 220, such as the first memory 1301 and the second memory 1302 respectively except the first computing unit 141 and the second computing unit The remainder after 1402.
  • the computing unit 210 of the storage device 200 may be an AI computing unit having AI computing capability
  • the memory 220 may be a storage unit.
  • the AI computing unit can be set in its controller, as shown in FIG. 8; it can also be set in its storage unit, and communicate with the controller connection, as shown in Figure 9.
  • SSD Solid State Disk
  • the AI computing unit can be directly connected to the storage unit and the controller, as shown in FIG. 10; it can also be set to be connected to the storage unit through the controller, as shown in FIG. 11.
  • the AI computing unit can be directly connected to the storage unit and the controller, as shown in FIG. 12 .
  • the memory 220 is used for storing the first feature information of at least one storage object, and at least one piece of storage data corresponding to each storage object.
  • the first characteristic information and stored data corresponding to the same storage object are essentially corresponding and related to each other.
  • data is stored in units of storage objects.
  • the storage objects may include various types such as people, animals, objects, virtual objects, etc., and the present disclosure does not limit the specific types of storage objects.
  • the first characteristic information is obtained by performing characteristic extraction on at least one piece of storage data corresponding to the storage object.
  • the stored data of the storage object may be images of people, and each person corresponds to one or more images.
  • the first feature information corresponding to the stored object can be obtained.
  • the stored data of the storage object may be audio (voice) files of people, and each person corresponds to one or more audio files.
  • the first feature information corresponding to the storage object can be obtained.
  • the first characteristic information corresponding to different storage data of the same storage object may be the same.
  • multiple different images of the same person may correspond to the same first feature information; another example, images of the same person wearing different clothes, or images of the same person at different angles may correspond to the same first feature information;
  • images of multiple people with similar appearances, such as images of twins or multiple births may correspond to the same first feature information.
  • the memory 220 is further configured to store at least one piece of storage information of stored data, wherein the first characteristic information of the storage object is associated with at least one piece of storage information of stored data.
  • the first characteristic information of the storage object is associated with the storage information of at least one piece of storage data of the storage object, so as to realize the association between the first characteristic information and the storage data, that is, each storage object in the storage 220
  • the storage information indicates the storage address of the storage data of the storage object.
  • the first feature information of the multiple images of the person is stored in the memory 220, and the first feature information is related to the storage information of the multiple images couplet.
  • the first characteristic information (and storage information) and the storage data may be stored in different areas, such as being stored in the above second storage 1302 and the first storage 1301 respectively.
  • the storage device 200 is a solid state disk (Solid State Disk, SSD) or a flash memory (Flash Memory)
  • the first feature information as an index
  • part of the stored data can be filtered out based on the local AI computing unit Transfer to the memory for comparison processing, and then send the processed part of the stored data to the CPU or AI chip outside the storage device 200 for further comparison processing to obtain the final retrieval result; compared to transferring all the stored data to the memory
  • the comparison process is performed to reduce data transfer and reduce device power consumption.
  • storing the first characteristic information of the storage object and the stored data in different areas can realize the separation of the first characteristic information and the stored data, so that the change of the first characteristic information does not affect the stored data.
  • the size of the feature map contained in the first feature information increases, however, due to the first feature Information and stored data are stored separately, so the actual stored data will not change.
  • the memory 220 has only one storage area, it is also feasible to store the first feature information (and the storage data) therein.
  • the calculation unit 210 is used to obtain the second characteristic information of the retrieval data, determine the target characteristic information according to the comparison result of the second characteristic information and the first characteristic information in the memory 220, and obtain the corresponding target retrieval data according to the target characteristic information.
  • the comparison can be performed by calculating the similarity between the first feature information and the second feature information, that is, calculating the Euclidean distance between the feature vector corresponding to the first feature information and the feature vector corresponding to the second feature information , and determine part of the first feature information as the target feature information according to the comparison result.
  • the storage device 200 After determining the target feature information (that is, part of the first feature information), that is, it is determined that the corresponding stored data is the target retrieval data, that is, the data that is likely to be the retrieval result, so the storage device 200 can store the target retrieval data As an intermediate result, it is sent to a processing unit other than the storage device 200 (such as the processing device 1 above), and the processing unit further determines the retrieval result from it.
  • the target feature information that is, part of the first feature information
  • the processing unit further determines the retrieval result from it.
  • the calculation unit 210 when used to obtain the corresponding target retrieval data according to the target characteristic information, it is specifically configured to: obtain the target retrieval data corresponding to the stored information according to the storage information associated with the target characteristic information.
  • the above stored information may be used to realize the association of the first characteristic information with the stored data.
  • the storage information of the storage data includes a storage start address and a storage length of at least one storage data corresponding to the storage object.
  • the storage length is determined according to the size of at least one piece of stored data corresponding to the storage object.
  • the storage device 200 includes a memory 220 and a computing unit 210, wherein the memory 220 is used to store the first characteristic information of at least one storage object, at least one piece of storage data corresponding to each storage object, and the first piece of storage data of the storage object.
  • a piece of feature information is associated with at least one piece of stored data.
  • the calculation unit 210 is used to obtain the second feature information of the retrieved data, and determine the target feature information according to the comparison result of the second feature information and the first feature information in the memory 220. According to the target The feature information is associated with the stored data to obtain the target retrieval data.
  • the data sent by the storage device 200 to the CPU and memory for processing is only a part of the data stored therein, the amount of data transport is small, the power consumption is low, and the retrieval efficiency is high.
  • the storage device 200 can be used to access the corresponding storage data with the first feature information as an index (the first feature information of the storage object and the storage data can also be stored in different areas, reducing data handling); and by using the settings in The computing unit 210 in the local storage device 200 compares and acquires the target retrieval data, which can further reduce data transfer and improve retrieval speed.
  • the second feature information may be compared with the first feature information in the memory 220, and at least one piece of first feature information is determined as the target feature information in descending order of similarity with the second feature information.
  • the first characteristic information of the storage object may be stored in a set storage area of the memory 220 .
  • a set address segment in the memory 220 can be used as a set storage area for storing the first characteristic information of the storage object; or the first characteristic information can be stored in the above second memory 1302 . That is, for the acquired first feature information of multiple storage objects, these first feature information are stored together in the setting storage area.
  • At least one piece of storage data corresponding to the storage object may be stored in an area other than the set storage area, such as in the above first memory 1301 .
  • the memory 220 is further configured to divide the set storage area of the memory 220 into a plurality of storage blocks, so as to realize the area division of the set storage area, wherein each storage block corresponds to at least one storage object.
  • the first feature information corresponding to different storage objects can also be divided into different storage blocks.
  • the setting storage area can be divided into areas in a multi-level manner.
  • the first feature information of multiple storage objects is stored in the set storage area of the memory 220
  • the first feature information of one or more of the multiple storage objects can be divided into the same storage block, A plurality of memory blocks of the first level are obtained.
  • any storage block of the first level still contains the first feature information of multiple storage objects, it can be further divided in a similar manner to obtain multiple storage blocks of the second level, and so on.
  • the multiple storage blocks are obtained by dividing the set storage area based on the target sorting result, wherein the target sorting result is the first order of the multiple storage objects stored in the set storage area based on preset rules. obtained by sorting the feature information.
  • the set storage area can be divided into areas in the following manner.
  • the preset rule may be set according to the characteristics of the storage object itself. For example, when images of multiple persons are stored in the memory 220, they can be sorted according to their ages. For example, the first characteristic information corresponding to the younger person is stored earlier.
  • Sorting may also be performed according to other rules, for example, sorting may be performed according to the number of times the first feature information is searched. For example, the more times the first characteristic information of a storage object is searched, the higher the first characteristic information of the storage object is arranged. Then, when applied to a data retrieval scenario, the first feature information will be compared earlier.
  • the set storage area of the memory 220 is divided into a plurality of storage blocks according to the sorting result.
  • the first feature information with similar sorting results it may be divided into the same or adjacent storage blocks.
  • the storage area is set to include first feature information of multiple storage objects, the first feature information of every n storage objects may be stored in the same storage block according to the sorting result of the first feature information.
  • the first feature information with similar rankings can be stored in the same or similar storage blocks.
  • the multiple storage blocks are obtained by dividing the first feature information of at least two storage objects whose similarity is higher than a set threshold into the same storage block.
  • the set storage area may also be divided into areas according to the following manner.
  • the similarity of the first characteristic information of each storage object is compared (for example, the similarity between the first characteristic information of every two storage objects is compared).
  • the similarity between the first feature information of two storage objects can be determined according to the Euclidean distance between the feature vectors corresponding to the two first feature information, or can be calculated in other ways.
  • the calculation method of degree is not limited.
  • the first feature information of at least two storage objects whose similarity is higher than a set threshold is divided into the same storage block.
  • the similarity between the first characteristic information of every two storage objects may be higher than the set threshold, or it may be that one of the storage objects
  • the similarity with the first characteristic information of at least one other storage object is higher than a set threshold.
  • similar first feature information can be stored in the same storage block.
  • FIG. 7 schematically shows a schematic diagram of a storage method of a storage device 200 according to an embodiment of the present disclosure.
  • the set storage area 20 in the memory 220 stores first characteristic information of multiple storage objects , and the storage information of each storage object, and the first feature information of the storage object is associated with the storage information of the storage data of the storage object.
  • the first characteristic information of storage object 1 is characteristic value 1
  • the storage data of storage object 1 is picture 1
  • characteristic value 1 is associated with storage address 1 of picture 1
  • the first characteristic information of storage object 2 is characteristic value 2.
  • the storage data of storage object 2 is picture 2a and picture 2b, and the feature value 2 is associated with the storage address 2 of picture 2a and picture 2b; the first feature information of storage object 3 is feature value 3, and the storage of storage object 3
  • the data is picture 3, and feature value 3 is associated with storage address 3 of picture 3.
  • the setting storage area 20 is divided into a plurality of storage blocks, which may also be referred to as feature value blocks. As shown in FIG. , the characteristic value 2 of the storage object 2 and the characteristic value 3 of the storage object 3 (of course, the storage address 2 and the storage address 3 are also stored in the characteristic value block B).
  • the calculation unit 210 when used to determine the target feature information according to the comparison result of the second feature information and the first feature information in the memory 220, it is specifically used to: combine the second feature information with the set storage area
  • the third feature information corresponding to each storage block in the storage block is compared, wherein the third feature information corresponding to the storage block is determined according to the first feature information stored in the storage block; it is determined that the third feature information with the highest similarity to the second feature information corresponds to
  • the storage block is used as the target storage block; the second characteristic information is compared with the first characteristic information in the target storage block, and at least one characteristic information is determined in descending order of similarity with the second characteristic information as the target characteristic information.
  • the calculation unit 210 may compare the second characteristic information with the first characteristic information in the following manner.
  • the second feature information is compared with the third feature information corresponding to each storage block in the set storage area.
  • the third characteristic information corresponding to the storage block is determined according to the first characteristic information stored in the storage block.
  • the third characteristic information can be obtained by averaging a plurality of pieces of first characteristic information stored in the storage block.
  • the comparison range can be narrowed, the amount of processed data can be reduced, and the retrieval speed can be improved.
  • the storage device 200 is connected to the first processing unit 301, and the first feature information is obtained in the following manner: the first processing unit 301 utilizes a pre-trained first feature extraction network, Feature extraction is performed on one of the storage data corresponding to the storage object to obtain sub-feature information, wherein the first feature extraction network is set in a storage device other than the storage device 200; according to the sub-feature information of at least one storage data corresponding to the storage object The characteristic information is to obtain the first characteristic information of the storage object; and send the first characteristic information to the storage device 200 .
  • the storage device 200 may be connected to other first processing units 301 capable of data processing to form a data processing system 300 , and the first processing unit 301 is connected to provide the first feature information to the storage device 200 .
  • the first characteristic information of the storage object can be obtained through the following method.
  • the first processing unit 301 outside the storage device 200 performs feature extraction on one of the stored data corresponding to the storage object to obtain sub-feature information.
  • the sub-feature information of the image can be extracted by using, for example, a convolutional neural network.
  • the first characteristic information of the storage object is obtained.
  • the first feature information of the storage object can be obtained by cascading the sub-feature information of each stored data; for another example, the sub-feature information of each stored data can be averaged or averagely weighted to obtain The first feature information of the object is stored and sent to the storage device 200 for storage.
  • the storage device 200 is connected to the second processing unit 302, and the second feature information is obtained in the following manner: the second processing unit 302 utilizes a pre-trained second feature extraction network pair Feature extraction is performed on retrieved data to obtain second feature information, wherein the second feature extraction network is set in a storage device other than the storage device 200 ; and the second feature information is sent to the storage device 200 .
  • the storage device 200 can be connected to another second processing unit 302 with data processing capability to form a data processing system 300 , and the second processing unit 302 is connected to provide the second feature information to the storage device 200 .
  • the second feature information of the storage object can be obtained through the following method.
  • the second processing unit 302 outside the storage device 200 (such as the above processing device 1) performs feature extraction on the retrieved data to obtain the second feature information, and then inputs the second feature information to the storage device 200 .
  • the storage device 200 is connected to the third processing unit 303 , and the storage device 200 is also used to send the target retrieval data to the third processing unit 303 .
  • the storage device 200 may be connected with another third processing unit 303 capable of data processing to form a data processing system 300 .
  • the storage device 200 may also send it to the third processing unit 303 (such as the processing device 1 above) to continue processing to obtain the retrieval result.
  • the third processing unit 303 such as the processing device 1 above
  • the data processing system 300 may include one or more of the above first processing unit 301, second processing unit 302, and third processing unit 303, and the first processing unit 301, the second processing unit 302, the third The processing unit 303 can be physically implemented by a processing unit (such as the processing device 1 above).
  • the storage device includes an AI computing unit 61 (computing unit 210) and a memory 62 (memory 220), wherein the data storage method in the memory 62 can be Referring to the description of FIG. 7 , it will not be repeated at this time; the AI calculation unit 61 is connected to the CPU or AI chip 63 (such as the first processing unit, the second processing unit, and the third processing unit above) outside the storage device, and can obtain The data processed by the CPU or the AI chip 63 may also send the retrieved data to the CPU or the AI chip 63 .
  • the storage device may be DDR, SSD, flash memory, etc. in which the AI calculation unit 61 is provided.
  • the AI calculation unit 61 After receiving the target eigenvalue, the AI calculation unit 61 compares the target eigenvalue with a plurality of eigenvalues (first eigenvalues) stored in the setting storage area one by one to determine the closest one or more eigenvalues, And the storage data corresponding to these feature values are sent to the CPU, AI chip 63, display device, etc. outside the storage device.
  • the AI calculation unit 61 compares the target eigenvalue with the eigenvalues (third eigenvalues) of each eigenvalue block one by one, and after determining the closest eigenvalue block, compares it with Each eigenvalue (first eigenvalue) in the eigenvalue block is further compared to determine the closest one or more eigenvalues.
  • the AI calculation unit 61 determines that the eigenvalue block closest to the target eigenvalue is the eigenvalue block B, it may no longer compare the eigenvalues in the eigenvalue block A, but only The target eigenvalue is compared with the eigenvalues in the eigenvalue block B one by one to determine the closest one or more eigenvalues. For example, in the case that feature value 2 is the most received feature value, the picture 2a and picture 2b associated with feature value 2 are obtained, and the picture 2a and picture 2b are sent to the CPU, AI chip 63, display device, etc.
  • the CPU or the AI chip 63 can further compare the target retrieval data to determine the final target data. By only comparing the data determined by the storage device 200, the calculation consumption of the CPU or the AI chip 63 is reduced; the display device can directly compare the target data. retrieve data for display to allow the user to determine the final target data.
  • FIG. 14 schematically shows a flow of a data storage method according to an embodiment of the present disclosure, and the method may be implemented by an external processing unit (such as a first processing unit) on the storage device 200 shown in FIG. 6 . As shown in FIG. 7 , the method may include steps 701 - 704 .
  • an external processing unit such as a first processing unit
  • step 701 first characteristic information of a storage object is obtained.
  • the first characteristic information is obtained by performing characteristic extraction on at least one piece of storage data corresponding to the storage object.
  • step 702 the first feature information of the storage object is stored in the set storage area of the memory.
  • step 703 at least one piece of storage data corresponding to the storage object is stored in the memory, and storage information of at least one piece of storage data is acquired.
  • step 704 the first feature information of the storage object is associated with the storage information of at least one piece of storage data.
  • the first characteristic information of the storage object is obtained, and the first characteristic information of the storage object is stored in a set storage area of the memory; at least one piece of storage data corresponding to the storage object is stored in the memory, and Acquiring at least one piece of storage information of the stored data; associating the first feature information of the storage object with the at least one piece of storage information of the stored data.
  • FIG. 15 schematically shows a flowchart of a data retrieval method according to an embodiment of the present disclosure, and the method is applied to the computing unit 210 in the storage device 200 shown in FIG. 6 .
  • the method may include steps 801-804.
  • step 801 the second characteristic information of the retrieved data is obtained.
  • a CPU or an AI processing chip other than the storage device may be used to perform feature extraction on the retrieved data.
  • retrieved data can include images, audio files, etc.
  • the pre-trained second feature extraction network can be used to perform feature extraction on the retrieved image.
  • the second feature extraction network may be the same network as the first feature extraction network, or may be a different network.
  • step 802 the second characteristic information is compared with the first characteristic information in the set storage area in the memory.
  • the first feature information is obtained by performing feature extraction on at least one piece of storage data corresponding to the storage object, and at least one piece of storage data corresponding to the storage object is also stored in the memory, and the storage of the first feature information and at least one piece of storage data information is associated.
  • step 803 at least one piece of first feature information having the highest similarity with the second feature information is determined as target feature information. That is, one or more storage objects most similar to the retrieved image are determined.
  • step 804 according to the storage information associated with the target characteristic information, the target retrieval data in the storage address indicated by the storage information is obtained.
  • the information in the associated storage address is obtained.
  • the method of large-scale retrieval in the storage device reduces the amount of processed data and improves the retrieval speed; and, by using the settings
  • the AI computing unit in the local storage device performs comparison and obtains the target retrieval data, which can reduce data handling and further improve retrieval speed.
  • an embodiment of the present disclosure further provides a data storage device.
  • Fig. 16 schematically shows a schematic structural diagram of a data storage device according to an embodiment of the present disclosure, for example, the device may be applied to electronic equipment.
  • the functions of each module of the device will be briefly described, and the detailed processing thereof can be combined with the description of the data storage method in any embodiment of the present disclosure mentioned above.
  • the data storage device includes: a first obtaining unit 901, configured to obtain first feature information of a storage object, wherein the first feature information is obtained by performing feature extraction on at least one piece of storage data corresponding to the storage object
  • the storage unit 902 is used to store the first feature information of the storage object in the set storage area of the memory
  • the second acquisition unit 903 is used to store at least one piece of storage data corresponding to the storage object in the memory, and obtain At least one piece of storage information of the stored data
  • an associating unit 904 configured to associate the first feature information of the storage object with the at least one piece of storage information of the stored data.
  • the device further includes a division unit, configured to divide the set storage area of the memory into multiple storage blocks according to the first feature information of the storage object, wherein each storage block corresponds to at least one storage object.
  • the division unit when used to divide the set storage area of the memory into multiple storage blocks according to the first feature information of the storage object, it is specifically used to: sorting the first feature information of the multiple storage objects; and dividing the set storage area of the memory into multiple storage blocks according to the sorting result.
  • the division unit when used to divide the set storage area of the memory into multiple storage blocks according to the first feature information of the storage objects, it is specifically used to: acquire multiple storage objects stored in the set storage area Among them, the similarity of the first feature information between every two storage objects; the first feature information of at least two storage objects whose similarity is higher than the set threshold is divided into (or stored in) the same storage block .
  • the device further includes a feature extraction unit (such as a first processing unit), configured to use a pre-trained first feature extraction network to perform feature extraction on one of the storage data corresponding to the storage object to obtain sub-feature information ; Obtain the first feature information of the storage object according to the sub-feature information of at least one piece of storage data corresponding to the storage object.
  • a feature extraction unit such as a first processing unit
  • the storage information includes a start address and a storage length, wherein the storage length is determined according to the size of at least one piece of stored data corresponding to the storage object.
  • an embodiment of the present disclosure further provides a data retrieval device.
  • Fig. 17 schematically shows a schematic structural diagram of a data retrieval device according to an embodiment of the present disclosure, for example, the device can be applied to electronic equipment.
  • the function of each module of the device will be briefly described, and its detailed processing can be combined with the description of the data storage method in any embodiment of the foregoing disclosure.
  • the data retrieval device includes: a third acquisition unit 1001, configured to acquire the second feature information of the retrieved data; a comparison unit 1002, used to compare the second feature information with the set storage area in the memory The first feature information is compared, wherein, the first feature information is obtained by performing feature extraction on at least one piece of storage data corresponding to the storage object, and at least one piece of storage data corresponding to the storage object is also stored in the memory, and the first feature information and The storage information of at least one piece of stored data is associated; the determination unit 1003 is configured to determine at least one first feature information with the highest similarity with the second feature information as the target feature information; the obtaining unit 1004 is used to associate according to the target feature information The storage information of the storage information is obtained to obtain the target retrieval data in the storage address indicated by the storage information.
  • the device further includes a first sending unit, configured to enable the first processing unit to perform feature extraction on the retrieved data using a pre-trained second feature extraction network to obtain second feature information; and send the second feature information to storage device.
  • a first sending unit configured to enable the first processing unit to perform feature extraction on the retrieved data using a pre-trained second feature extraction network to obtain second feature information; and send the second feature information to storage device.
  • the set storage area of the memory is divided into multiple storage blocks according to the first characteristic information of the storage object, wherein each storage block corresponds to at least one storage object; the comparison unit is configured to: compare the second characteristic information, Compared with the third feature information corresponding to each storage block in the set storage area, wherein the third feature information corresponding to the storage block is determined according to the first feature information stored in the storage block; determine the highest similarity with the second feature information
  • the third characteristic information corresponds to the storage block as the target storage block; the second characteristic information is compared with the first characteristic information in the target storage block.
  • the apparatus further includes a second sending unit, configured to cause the storage device to send the target retrieval data to the third processing unit.
  • An embodiment of the present disclosure also provides an electronic device 400. Referring to FIG. 18 , it includes a memory 410 and a processor 402.
  • the memory 401 is used to store computer instructions that can be run on the processor 402.
  • the processor 401 is used to execute the computer instructions to Implement the data storage method or the data retrieval method of any embodiment of the present disclosure.
  • An embodiment of the present disclosure also provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the data retrieval method or data retrieval method of any embodiment is disclosed.
  • a data processing method provided in an embodiment of the present disclosure may be executed based on a storage device in an embodiment of the present disclosure.
  • the storage device includes a memory and a computing unit, and the memory stores first feature information of at least one storage object and at least one piece of storage data corresponding to each storage object, wherein the first feature information is at least one piece of storage data corresponding to the storage object. It is obtained by feature extraction from stored data.
  • the method of the disclosed embodiment includes:
  • the computing unit acquires second feature information of the retrieved data.
  • the calculation unit determines target feature information according to a comparison result between the second feature information and the first feature information in the memory.
  • the calculation unit obtains corresponding target retrieval data according to the target feature information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种计算系统,包括处理设备以及存储设备;所述存储设备包括计算单元;其中,所述存储设备用于利用所述计算单元,对所述存储设备中的存储数据进行计算处理,得到中间处理结果;所述处理设备用于接收所述存储设备发送的与所述中间处理结果对应的待处理数据,并根据所接收的所述待处理数据进行计算处理,得到目标处理结果。

Description

计算系统、存储设备 技术领域
本公开的实施方式涉及数据处理和存储技术领域,更具体地,本公开的实施方式涉及一种计算系统、存储设备。
背景技术
现有的计算系统中,通常是在处理芯片中完成整个计算过程。以AI(人工智能,Artificial Intelligence)计算系统为例,通常需要将全部的原始数据从非易失性存储器,例如固态硬盘(Solid State Disk,SSD)或闪存(Flash Memory)中读取至随机存储器,例如双倍速率(Double Data Rate,DDR)同步动态随机存储器中,再将原始数据读取至AI芯片(处理芯片)中,由AI芯片进行AI计算处理。
然而这种方式数据搬运量大、处理芯片计算量大,导致功耗高且计算速度难以提高。
发明内容
有鉴于此,本公开实施例至少提供一种计算系统、存储设备。
本公开提供一种计算系统,包括处理设备以及存储设备;所述存储设备包括计算单元;其中,所述存储设备用于利用所述计算单元,对所述存储设备中的存储数据进行计算处理,得到中间处理结果;所述处理设备用于接收所述存储设备发送的与所述中间处理结果对应的待处理数据,并根据所接收的所述待处理数据进行计算处理,得到目标处理结果。
在一些实施方式中,所述处理设备包括第一处理设备以及第二处理设备;其中,所述第一处理设备用于向所述存储设备和所述第二处理设备分发计算任务;所述存储设备用于利用所述计算单元,根据所接收的计算任务对所述存储设备中的存储数据进行计算处理,得到中间处理结果;所述第二处理设备用于接收所述存储设备发送的与所述中间处理结果对应的待处理数据,并根据所接收的计算任务对所述待处理数据进行计算处理,得到目标处理结果。
本公开还提供一种存储设备,包括存储器和计算单元;其中,所述存储器用于存储至少一个存储对象的第一特征信息、每个存储对象对应的至少一份存储数据,其中,所述第一特征信息是对所述存储对象对应的至少一份存储数据进行特征提取得到的;所述计算单元用于获取检索数据的第二特征信息,根据所述第二特征信息与所述存储器中的第一特征信息的比较结果确定目标特征信息,根据所述目标特征信息得到对应的目标检索数据。
在本公开实施方式中,计算系统包括处理设备以及存储设备;所 述存储设备包括计算单元;其中,所述存储设备用于利用所述计算单元,对所述存储设备中的存储数据进行计算处理,得到中间处理结果;所述处理设备用于接收所述存储设备发送的与所述中间处理结果对应的待处理数据,并根据所接收的所述待处理数据进行计算处理,得到目标处理结果。通过由存储设备中的计算单元和存储设备外的处理设备共同完成计算,使得处理设备可以仅对存储数据进行部分的计算处理即可得到目标处理结果,从而可以减少数据搬运、降低功耗并提升处理速度。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1示意性地示出了根据本公开实施方式提出的一种计算系统的结构示意图;
图2示意性地示出了根据本公开实施方式提出的另一种计算系统的结构示意图;
图3示意性地示出了根据本公开实施方式提出的另一种计算系统的结构示意图;
图4示意性地示出了根据本公开实施例方式提出的一种计算系统中的数据结构示意图;
图5示意性地示出了根据本公开实施例方式的提出的一种数据处理方法的流程图;
图6示意性地示出了根据本公开实施方式提出的一种存储设备的结构示意图;
图7示意性地示出了根据本公开实施例方式提出的一种存储设备中的数据结构示意图;
图8示意性地示出了根据本公开实施方式提出的一种固态硬盘的结构示意图;
图9示意性地示出了根据本公开实施方式提出的另一种固态硬盘的结构示意图
图10示意性地示出了根据本公开实施方式提出的一种闪存的结构示意图;
图11示意性地示出了根据本公开实施方式提出的另一种闪存的结构示意图;
图12示意性地示出了根据本公开实施方式提出的双倍速率同步动态随机存储器的结构示意图;
图13示意性地示出了根据本公开实施方式提出的一种数据检索 系统的结构示意图;
图14示意性地示出了根据本公开实施方式提出的一种数据存储方法的流程图;
图15示意性地示出了根据本公开实施方式提出的一种数据检索方法的流程图;
图16示意性地示出了根据本公开实施方式提出的一种数据存储装置的结构示意图;
图17示意性地示出了根据本公开实施方式提出的一种数据检索装置的结构示意图。
图18示意性地示出了根据本公开实施例方式提出的一种电子设备的结构示意图;
图19示意性地示出了根据本公开实施例方式提出的一种数据处理方法的流程图;
图20示意性地示出了根据本公开实施例方式的提出的一种数据处理系统的结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本公开的实施方式可实现为一种系统、装置、设备、方法或计算机程序产品。本公开具体实现可为以下形式:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
本公开实施例所提出的一种计算系统如图1所示,该计算系统可包括处理设备1以及存储设备130,存储设备130中包括计算单元140。
其中,存储设备130用于利用计算单元140,对存储设备130中的存储数据进行计算处理,得到中间处理结果;处理设备1用于接收存储设备130发送的与中间处理结果对应的待处理数据,并根据所接收的待处理数据进行计算处理,得到目标处理结果。
其中,“存储设备130中包括计算单元140”是指,计算单元140直接是存储设备130内的一部分,或直接与存储设备130构成一体;由此,计算单元140可在不经总线(Bus)的情况下直接获取并处理存储设备130内的数据。相对的,处理设备1需要通过总线100与存储设备130连接,故需通过总线100才能获取来自存储设备130的数据。
由此,根据本公开实施方式,存储设备130内的计算单元140可直接获取存储设备130中的存储数据并进行初步的处理,得到中间处理结果;而存储设备130还可将对应中间处理结果的待处理数据发送至处理设备1,故处理设备1只需要对经过初步处理得到的数据进行部分后续处理,即可得到目标处理结果。
在本公开实施方式中,计算系统包括处理设备1以及存储设备130;存储设备130包括计算单元140;其中,存储设备130用于利用计算单元140,对存储设备130中的存储数据进行计算处理,得到中间处理结果;处理设备1用于接收存储设备130发送的与中间处理结果对应的待处理数据,并根据所接收的待处理数据进行计算处理,得到目标处理结果。通过由存储设备130中的计算单元140和存储设备130外的处理设备1共同完成计算,使得处理设备1可以仅对存储数据进行部分的计算处理即可得到目标处理结果,从而可以减少数据搬运、降低功耗并提升处理速度。
在一些开实施例中,待处理数据包括存储数据中的一部分。
即存储设备130可根据中间处理结果,从其内部存储的存储数据中选择一部分发送给处理设备1,供处理设备1进一步处理。由此,处理设备1只要处理经存储设备130初步筛选后的少量数据即可,而不必处理全部存储数据,减少了数据传输量和处理量,降低系统功耗。
其中,待处理数据的形式不限于此,如待处理数据也可是计算单元140根据存储数据计算得到的“间接结果”,而不是存储数据本身。
本公开实施例所提出的另一种计算系统如图2所示,该计算系统中,处理设备1包括第一处理设备110、第二处理设备120。
其中,第一处理设备110可以是中央处理器CPU,第二处理设备120可以是处理芯片,进一步为人工智能芯片(AI芯片),而计算单元140可为人工智能计算单元(AI计算单元)。以计算系统为AI计算系统为例,第二处理设备120可以是AI芯片。存储设备130可以包括SSD或Flash Memory等非易失性存储器,还可以包括DDR等随机存储器。其中,第一处理设备110、第二处理设备120和存储设备130之间通过总线100进行连接。
在该计算系统中,第一处理设备110用于向第二处理设备120和存储设备130分发计算任务。
利用第一处理设备110向第二处理设备120和存储设备130分发计算任务,可以使存储设备130中的计算单元140与第二处理设备120共同完成计算任务。本领域技术人员应当理解,第一处理设备110、第二处理设备120以及存储设备130的数目可以是一个或多个,本实施例对于设备的具体数目不进行限制。
通常,存储设备130中所包含的计算单元140相较于第一处理设 备110或第二处理设备120而言计算能力较弱,可以用于执行第一处理设备110所分配的一些特定计算任务。以计算任务整体为AI计算任务为例,分配给存储设备130中的计算单元140的计算任务例如可以是余弦比较任务。
存储设备130用于利用计算单元140,根据所接收的计算任务对存储设备130中的存储数据进行计算处理,得到中间处理结果。
其中,存储设备130中存储的为计算系统所处理的原始数据,其可以是图像数据、音频文件等等。存储设备130中的计算单元140,可以对本地存储的数据进行计算处理,得到中间处理结果。以计算任务为AI计算任务为例,计算单元对本地存储的数据进行余弦比较处理,得到检索结果作为中间处理结果。
第二处理设备120用于接收存储设备130发送的与中间处理结果对应的待处理数据,并根据所接收的计算任务对待处理数据进行计算处理,得到目标处理结果。
其中,存储设备130可以根据中间处理结果确定所对应的待处理数据,可选的,待处理数据是存储数据中的一部分。也即是说,存储设备130并非将全部的存储数据发送至第二处理设备120,而是将中间处理结果所对应的部分存储数据发送至第二处理设备120。通过丢弃与第二处理设备120的计算任务无关的存储数据,可以减少数据传输、降低系统功耗。
在一些开实施例中,计算系统包括第一处理设备110、第二处理设备120以及存储设备130,存储设备130包括计算单元140,第一处理设备110用于向存储设备130和第二处理设备120分发计算任务;存储设备130用于利用计算单元140,根据所接收的计算任务对存储设备130中的存储数据进行计算处理,得到中间处理结果;第二处理设备120用于接收存储设备130发送的与中间处理结果对应的待处理数据,并根据所接收的计算任务对待处理数据进行计算处理,得到目标处理结果,其中,待处理数据包括存储数据中的一部分。通过由第一处理设备110进行任务分发,由存储设备130中的计算单元140和第二处理设备共120同完成计算,使得第二处理设备120可以对部分的存储数据进行计算处理即可得到目标处理结果,从而可以减少数据搬运、降低功耗并提升处理速度。
图3示出本公开实施例提出的另一种计算系统。如图3所示,计算系统中的存储设备130包括第一存储器1301和第二存储器1302,第一存储器1301中包括第一计算单元1401,第二存储器1302中包括第二计算单元1402(故计算单元140包括第一计算单元141和第二计算单元1402)。其中,第一存储器1301可以为非易失性存储器,例如SSD或Flash Memory;第二存储器1302为随机存储器,例如DDR。 在这种情况下,可以通过以下方法对存储设备130中的存储数据进行计算处理,得到中间处理结果。
其中,第一存储器1301用于利用第一计算单元1401对第一存储器1301中的存储数据进行计算处理,得到第一处理结果。对存储数据所进行的计算处理,是根据第一处理设备110所分发的计算任务执行的,而该计算任务是根据第一存储器1301中的第一计算单元1401的计算能力以及整体系统中各个处理设备之间的任务配合来确定的。
第二存储器1302用于接收第一存储器1301发送的与第一处理结果对应的第一待处理数据并进行存储,第一待处理数据包括存储数据中的一部分;第二存储器1302还用于利用第二计算单元1402,对第二存储器1302中的第一待处理数据进行计算处理,得到中间处理结果。
在一些开实施例中,第一存储器1301和第二存储器1302之间可以进行数据传输,例如将第一处理结果对应的第一待处理数据可以发送给第二存储器1302。在相关的计算系统中,通常需要将所有的存储数据搬运至内存DDR中进行存储,以供处理芯片进行计算处理,本公开实施例通过将一部分的存储数据搬运至内存DDR中,可以减少数据的搬运、降低系统功耗。
第二存储器1302在接收到来自第一处理设备110的第一待处理数据后,首先对第一待处理数据进行存储,之后,利用第二计算单元1402对第二存储器1302中的第一待处理数据进行计算处理,得到中间处理结果。由于第二存储器1302对第一待处理数据进行了存储,因此第二计算单元1402可以直接对本地存储的第一待处理数据进行计算,得到中间处理结果。
在一些开实施例中,计算任务可为AI计算任务,第一存储器1301中存储了所有的原始数据,第一计算单元1401基于分配的AI任务对原始数据进行初步计算和/或筛选,并将计算结果和/或筛选后的对应数据,发送至第二存储器1302,由第二计算单元1402进行进一步计算和/或进一步筛选,最后将计算和/或筛选后的数据发送至AI芯片,通过上述一级一级对数据进行计算和/或筛选,避免对全部数据进行搬运。
在一个示例中,第一存储器1301中存储多个原始图像,第一存储器1301中的第一计算单元1401先对本地存储的多个原始图像进行图像识别,并将符合设定要求的识别结果作为第一处理结果。例如,将从原始图像中识别出的“人、狗、房子”作为第一处理结果。第一存储器1301根据“人、狗、房子”的识别结果,可以获取多个原始图像中识别结果包括“人、狗、房子”的图像作为第一待处理数据,并将第一待处理数据发送至第二存储器120,由第二存储器120进行进一步的AI处理。第二存储器120在接收到第一待处理数据后,可以针对第一处理结果中的每一种识别类型进一步进行识别,得到中间处理结 果。例如,在第一存储器1301中的第一计算单元1401识别出原始图像中的“人”之后,第二存储器1302中的第二计算单元1402进一步对该原始图像进行识别,得到“年龄、性别、身高”等信息。又如,可在原始图像所包含的人体中进一步识别出“手、脚、脸、耳朵”等身体部分。中间处理结果可以是结构化的数据,可以将待处理数据连同中间处理结果共同反馈至第二处理设备120。
在一些实施例中,第一存储器1301中的第一计算单元1401和第二存储器1302中的第二计算单元1402可以是语音计算单元,也可以是图像计算单元,或者是其他类型的计算单元,本公开实施例对于计算单元的具体类型不进地限制。
可选的,第一计算单元1401和第二计算单元1402可以通过乘法器实现数字计算,通过存内计算实现模拟计算。
在一些实施例中,第二处理设备120接收的待处理数据包括视频数据、音频数据、距离数据、重心数据中的至少一种。以第二处理设备120为AI芯片为例,该AI芯片所接收到的待处理数据可以是多维数据,由AI芯片综合多维数据进行智能决策、判断。
在计算系统的计算任务为检索任务的情况下,计算系统需要在存储设备130中的所有存储数据中进行检索,得到与检索数据匹配的目标存储数据在存储设备130中的存储位置,并获得目标存储数据。
在一些实施例中,如图3所示,计算系统中的存储设备130包括第一存储器1301和第二存储器1302,第一存储器1301中包括第一计算单元1401,第二存储器1302中包括第二计算单元1402(故计算单元140包括第一计算单元141和第二计算单元1402)。
其中,第二存储器1302中可存储有第一存储器1301中的存储数据的索引信息,索引信息包括用于指示存储数据在第一存储器1301中的存储位置的信息。第二存储器1302利用第二计算单元1402,在所存储的索引信息中确定与检索数据(即进行检索所依据的信息)匹配的目标索引信息。例如,可以利用第二计算单元1402,对检索数据的信息与索引信息进行比较,根据比较结果得到目标索引信息,也即将与检索数据的信息最接近的一个或多个索引信息作为目标索引信息。由于在第二存储器1302中的索引信息与存储数据在第一存储器1301中的存储位置相关联,因此可以通过目标索引信息,确定第一存储器1301中的对应的存储数据,从而可以得到待处理数据(中间处理结果)。
在一些开实施例中,通过在第二存储器1302中存储第一存储器1301中的存储数据的索引信息,可利用索引信息确定与第一存储器1301中与检索数据匹配的待处理数据,减少计算量,提高检索速度。
在一些实施例中,第二存储器1302中的存储数据的索引信息包括存储数据的第一特征信息。
其中,存储数据可以存储对象为单位进行存储。存储对象可以包括人、动物、物体、虚拟对象等各种类型,本公开对于存储对象的具体类型不进行限制。第一特征信息是对存储对象对应的至少一份存储数据进行特征提取得到的。例如,存储对象的存储数据可以是人的图像,每个人对应于一张或多张图像。通过对每个人对应的一张或多张图像进行特征提取,则可以得到该存储对象所对应的第一特征信息。
又例如,存储对象的存储数据可以是人的音频(语音)文件,每个人对应于一个或多个音频文件。通过对每个人对应的一个或多个音频文件进行特征提取,则可以得到该存储对象所对应的第一特征信息。
也即,在一些开实施例中,同一个存储对象的不同的存储数据,所对应的第一特征信息可以是相同的。例如,同一个人多张不同的图像,可以对应于相同的第一特征信息;又例如,同一个人穿不同衣服的图像,或者同一个人不同角度的图像,可以对应于相同的第一特征信息;再如,长相相似的多个人的图像,例如双胞胎或者多胞胎的图像,可以对应于相同的第一特征信息。
由此,索引信息是与存储数据相对应的,即,目标索引信息的第一特征信息所对应的存储对象的存储数据,也就是与检索数据匹配的待处理数据(中间处理结果)。
在一些实施例中,存储数据的索引信息还包括存储数据在第一存储器中的存储信息,且存储数据的第一特征信息与存储信息相关联。
存储信息用于指示存储对象的存储数据的存储地址,可以包括存储数据的起始地址和存储长度,其中,存储长度根据存储对象对应的至少一份存储数据的大小确定。在这种情况下,可以通过以下方法对存储设备130中的存储数据进行计算处理,得到中间处理结果。
首先,利用第二存储器1302中的第二计算单元1402,对检索数据的第二特征信息与第二存储器1302中的存储数据的第一特征信息进行比较,根据比较结果确定目标特征信息。其中,目标特征信息可以是与检索数据的第二特征信息最为接近的一个或多个第一特征信息。其中,第二特征信息是对检索数据进行特征提取得到的。
之后,利用第一存储器1301中的第一计算单元1401,根据目标特征信息相关联的目标存储信息,获取在第一存储器1301中对应的待处理数据,并将待处理数据发送至第二处理设备120。由于在第二存储器1302中存储数据的第一特征信息与存储数据在第一存储器1301中的存储信息相关联,因此根据目标特征信息,可以确定与检索数据相匹配的目标数据在第一存储器1301中的存储信息,并根据存储信息找到第一存储器1301中的存储数据,作为中间结果。
在将存储对象的第一特征信息与存储对象的至少一个存储数据的存储信息相关联(本质是将第一特征信息与存储数据关联)的情况下, 在存储器中所存储的每一个存储对象对应着存储第一特征信息以及存储信息,该存储信息指示存储对象的存储数据的存储地址。
例如,在存储器中存储了一个人的多张图像的情况下,该存储器中存储了该人的多张图像的第一特征信息,并且第一特征信息与这多张图像的存储信息相关联。
通过将存储对象的第一特征信息与存储数据存储在不同的区域,同时又相关联,可以实现以第一特征信息作为索引来访问存储数据。在数据检索场景下,在存储设备130为SSD或Flash Memory的情况下,通过利用第一特征信息作为索引,可以基于本地AI计算单元筛选出部分存储数据搬运至内存中进行比较处理,再将经处理的部分存储数据发送至存储设备130之外的CPU或AI芯片进行进一步比较处理,得到最终的检索结果;相较于将所有存储数据搬运至内存中进行比较处理,减少了数据搬运、降低了设备功耗。同时,将存储对象的第一特征信息与存储数据存储在不同的区域,又能够实现第一特征信息与存储数据的分离,使得第一特征信息的变化不影响存储数据。
举例来说,在用于获取存储对象的第一特征信息的方法发生变化的情况下,比如特征提取算法进行了改进,使得第一特征信息中所包含的特征图尺寸增加,然而由于第一特征信息与存储数据是分开存储的,所以实际存储的数据并不会产生变动。
在一些开实施例中,通过将存储数据的第一特征信息和存储数据在第一存储器1301中的存储信息作为索引信息存储在第二存储器1302中,并将存储数据的第一特征信息与存储信息相关联,可以实现以第一特征信息作为索引访问相应的存储数据,避免了将全部存储数据搬运至内存中进行比较处理,减少数据搬运、提升数据检索的速度。
在一些开实施例中,通过在第二存储器1302中存储第一存储器1301中的存储数据的第一特征信息和存储数据在第一存储器1301中的存储信息,可以实现以第一特征信息作为索引访问相应的存储数据,避免了将全部存储数据搬运至内存中进行比较处理,减少数据搬运、提升数据检索的速度。
在一些实施例中,第二存储器1302被划分为多个存储块,第一存储器1301中的存储数据的第一特征信息和相关联的存储信息根据预设规则存储在多个存储块中。其中,每个存储块对应至少一个存储对象。第二存储器1302用于利用第二计算单元1402,对检索数据的第二特征信息与第二存储器1302中的存储块对应的第三特征信息进行比较,根据比较结果确定目标存储块,以及用于将检索数据的第二特征信息与目标存储块中的第一特征信息进行比较,得到目标特征信息,存储块对应的第三特征信息根据存储块中存储的第一特征信息确定。
其中,可以以多层级的方式对第二存储器1302中的设定存储区域 进行区域划分。例如,在第二存储器1302中的设定存储区域中存储了多个存储对象的第一特征信息的情况下,可以将多个存储对象中一个或多个的第一特征信息划分至同一个存储块中,得到第一层级的多个存储块。在第一层级的任一存储块中仍包含多个存储对象的第一特征信息的情况下,还可以依据相似的方式进一步进行划分,得到第二层级的多个存储块,以此类推。
在一个示例中,多个存储块是基于目标排序结果对第二存储器1302进行划分得到的,其中,目标排序结果是基于预设规则对第二存储器1302中存储的第一特征信息进行排序得到的。即,将排序上相邻的第一特征信息,划分到同一存储块或相邻存储块中。
具体地,可以通过以下方式对第二存储器1302中的设定存储区域进行区域划分。
首先,基于预设规则,对设定存储区域中存储的多个存储对象的第一特征信息进行排序。
预设规则可以是根据存储对象自身的特征设置的。例如,在存储器中存储了多个人的图像时,可以根据人的年龄进行排序。举例来说,年龄越小的人对应的第一特征信息,则存储在越靠前。
还可以根据其他的规则来进行排序,例如,可以根据第一特征信息被查找的次数进行排序。举例来说,一个存储对象的第一特征信息被查找的次数越多,则存储对象的第一特征信息排列越靠前。那么在应用于数据检索场景时,该第一特征信息会更早被进行比对。
接下来,根据排序结果将第二存储器1302中的设定存储区域划分为多个存储块。对于排序结果相近的第一特征信息,可以将其存储在相同的存储块中。例如,在设定存储区域包括多个存储对象的第一特征信息的情况下,可以根据第一特征信息的排序结果,将每n个存储对象的第一特征信息存储在相同的存储块中。
在一些开实施例中,根据第一特征信息的排序结果对设定存储区域进行区域划分,可使排名相近的第一特征信息存储在相同存储块中。
在一些实施例中,多个存储块是通过将第二存储器1302中相似度高于设定阈值的至少两个存储对象的第一特征信息划分至同一个存储块中得到的。具体地,可根据以下方式对设定存储区域进行区域划分。
首先,获取设定存储区域中存储的多个存储对象中,每两个存储对象之间的第一特征信息的相似度。
其中,两个存储对象之间的第一特征信息的相似度,可以根据两个第一特征信息对应的特征向量之间的欧氏距离来确定,也可以利用其他方式进行计算,本公开对于相似度的计算方式不进行限定。
接下来,将相似度高于设定阈值的至少两个存储对象的第一特征信息划分至(或者说存储在)同一个存储块中。
其中,对于存储在同一个存储块中的存储对象,可以是每两个存储对象之间的第一特征信息的相似度都高于设定阈值,或者可以是其中一个存储对象与至少一个其他存储对象之间的第一特征信息的相似度高于设定阈值。
在一些开实施例中,通过根据存储对象之间的第一特征信息的相似度来进行区域划分,可以使第一特征信息相近的存储对象存储在相同的存储块中。
图4示意性地示出了根据本公开实施例方式的第二存储器1302的结构示意图,如图4所示,第二存储器1302中的设定存储区域20中存储有多个存储对象的第一特征信息,存储对象的存储数据存储在第一存储器1301中,并且存储对象的第一特征信息与存储对象的存储数据在第一存储器1301中的存储信息相关联。也即,第二存储器1302中存储对象的第一特征信息作为索引信息。其中,存储对象1的第一特征信息为特征值1,存储对象1的存储数据为图片1,且特征值1与图片1的存储地址1相关联;存储对象2的第一特征信息为特征值2,存储对象2的存储数据为图片2a和图片2b,且特征值2与图片2a和图片2b的存储地址2相关联;存储对象3的第一特征信息为特征值3,存储对象3的存储数据为图片3,且特征值3与图片3的存储地址3相关联。设定存储区域20被划分为多个存储块,也可以称为特征值块,如图4所示,存储对象1的特征值1(当然还可有存储地址1)存储在特征值块A中,存储对象2的特征值2以及存储对象3的特征值3(当然还可有存储地址2和存储地址3)共同存储在特征值块B中。
在一些实施例中,可通过以下方法获得存储对象的第一特征信息。
首先,利用预先训练的第一特征提取网络,对存储对象对应的其中一份存储数据进行特征提取,得到子特征信息。
以存储数据为图像为例,可以利用例如卷积神经网络来提取图像的子特征信息。
之后,根据存储对象对应的至少一份存储数据的子特征信息,得到存储对象的第一特征信息。例如,可以通过将各个存储数据的子特征信息进行级联的方式,得到存储对象的第一特征信息;又例如,可以通过将各个存储数据的子特征信息进行平均,或者平均加权的方式,得到存储对象的第一特征信息。
在第一存储器1301中的存储数据的第一特征信息和相关联的存储信息根据预设规则排序并划分到多个存储块中时,可以通过以下方法对存储设备130中的存储数据进行计算处理,得到中间处理结果。
首先,利用第二存储器1302中的第二计算单元1402,对检索数据的第二特征信息与第二存储器1302中的存储块对应的第三特征信息进行比较,根据比较结果确定目标存储块,存储块对应的第三特征 信息根据存储块中存储的第一特征信息确定。例如,可将第三特征信息与第二特征信息最接近的一个或多个存储块确定为目标存储块。
之后,将检索数据的第二特征信息与目标存储块中的第一特征信息进行比较,得到目标特征信息。
最后,用第一存储器1301中的第一计算单元1401,根据目标特征信息相关联的目标存储信息,获取在第一存储器1301中对应的存储数据为待处理数据(中间结果),将待处理数据发送至第二处理设备。
在一些开实施例中,通过在第三特征信息与检索数据的第二特征信息最为接近的一个或多个存储块中,进一步进行第二特征信息的比较,可以缩小进行比较的范围,减少了处理的数据量,提高检索速度。
以下以图搜图场景为例,对本公开实施例提出的数据检索方法进行说明。方法所应用的系统构架如图3所示,计算系统包括第一处理设备(CPU)、第二处理设备(AI芯片)、第一存储器1301(SSD或Flash Memory)和第二存储器1302(DDR),其中,第一存储器1301包括第一计算单元1401(AI计算单元),第二存储器1302包括第二计算单元1402(AI计算单元)。第一存储器1301中存储了待进行检索的所有图像,第二存储器1302中的数据存储方式可以参见针对图4进行的描述,此时不再赘述。
首先,CPU向第一存储器1301、第二存储器1302、AI芯片进行AI任务分发,也即指示第一存储器1301中的第一计算单元1402、第二存储器1302中的第二计算单元1402和AI芯片所要执行的计算任务。
第二计算单元1402对搜索图像的第二特征信息与第二存储器1302中的存储数据的第一特征信息进行比较,其中,第一特征信息和第二特征信息例如是1*512的特征数据,或2*512的特征数据。第二计算单元1402根据比较结果,确定与第二特征信息最接近的一个或多个第一特征信息。
第一计算单元1401根据所确定的最接近的一个或多个第一特征信息,确定在第一存储器1301中对应的一个或多个原始图像作为待处理数据,例如获得10张与目标图像最接近的图像作为待处理数据,并将待处理数据发送至AI芯片,由AI芯片直接将目标图像和所接收的待处理数据进行比对计算,最终确定与目标图像匹配的图像。
本公开实施例提供的一种数据处理方法可基于本公开实施例的计算系统执行,参照图5,该方法包括:
S101、存储设备利用计算单元,对存储设备中的存储数据进行计算处理,得到中间处理结果。
S102、存储设备将中间处理结果发送至处理设备。
S103、处理设备接收存储设备发送的与中间处理结果对应的待处理数据。
S104、处理设备根据所接收的待处理数据进行计算处理,得到目标处理结果。
在数据检索应用中,存储系统中存储的待比对数据量通常是非常大的,例如进行人脸检索或者指纹检索等等,数据量可能在10G以上。
在一些相关技术中,数据检索方式通常是通过CPU(中央处理器)或处理芯片将存储系统中的待比对数据依次搬运至内存中,将检索对象与待比对数据进行比较计算,以得到目标数据。例如,在以图搜图场景中,CPU或AI芯片需要将存储系统中的待比对图像依次搬运至内存中,将检索图像与待比对图像进行比较计算,得到与检索图像对应的关联图像。例如,基于目标人物的照片、画像,从数据库中查找对应或相以的照片、属性信息等。
然而这种方式中,数据搬运过程中消耗大量设备功耗,并且由于数据接口限制了搬运速度,使得检索效率难以提高。
因此,本公开实施例提出了一种存储设备,旨在在数据检索应用中减少数据搬运以降低设备功耗、提升搜索效率。
图6示意性地示出了根据本公开实施方式提出的存储设备200的结构示意图,如图6所示,存储设备200可以包括计算单元210和存储器220。
其中,“存储设备200包括计算单元210和存储器220”是指,计算单元210直接是存储设备200内的一部分,或直接与存储器220构成一体;由此,计算单元210可在不经过总线(Bus)的情况下直接获取并处理存储器220内的数据。相对的,存储设备200外的其它处理单元(如以上处理设备1)则需要通过总线与存储设备200连接,故需要通过总线才能获取来自存储设备200的存储器220的数据。
其中,存储设备200可以是本公开实施例的以上计算系统中的存储设备130,故存储设备200中的计算单元210可以是以上的计算单元140,其进一步可分为第一计算单元141和第二计算单元1402;而存储器220可以是以上存储器220中除去计算单元140后剩余的具体用于存储的部分,如是第一存储器1301和第二存储器1302分别除去第一计算单元141和第二计算单元1402后剩余的部分。
示例性的,在存储设备200用于存储AI数据的情况下,存储设备200的计算单元210可以是具有AI计算能力的AI计算单元,而存储器220可以是的存储单元。
例如,在存储设备200为固态硬盘(Solid State Disk,SSD)的情况下,AI计算单元可以设置在其控制器中,如图8所示;还可以设置在其存储单元中,并与控制器连接,如图9所示。
再如,在存储设备200为闪存(Flash Memory)的情况下,AI计 算单元可以直接与存储单元、控制器连接,如图10所示;还可以设置为通过控制器与存储单元连接,如图11所示。
在存储器220为双倍速率(DDR)同步动态随机存储器的情况下,AI计算单元可以直接与存储单元、控制器连接,如图12所示。
其中,存储器220用于存储至少一个存储对象的第一特征信息、每个存储对象对应的至少一份存储数据。
可见,对应相同存储对象的第一特征信息和存储数据,本质上是相互对应且关联的。
在一些开实施例中,是以存储对象为单位进行数据存储的。存储对象可以包括人、动物、物体、虚拟对象等各种类型,本公开对于存储对象的具体类型不进行限制。
其中,第一特征信息是对存储对象对应的至少一份存储数据进行特征提取得到的。
例如,存储对象的存储数据可以是人的图像,每个人对应于一张或多张图像。通过对每个人对应的一张或多张图像进行特征提取,则可以得到该存储对象所对应的第一特征信息。
又例如,存储对象的存储数据可以是人的音频(语音)文件,每个人对应于一个或多个音频文件。通过对每个人对应的一个或多个音频文件进行特征提取,则可以得到该存储对象所对应的第一特征信息。
也即,在一些开实施例中,同一个存储对象的不同的存储数据,所对应的第一特征信息可以是相同的。例如,同一个人多张不同的图像,可以对应于相同的第一特征信息;又例如,同一个人穿不同衣服的图像,或者同一个人不同角度的图像,可以对应于相同的第一特征信息;再如,长相相似的多个人的图像,例如双胞胎或者多胞胎的图像,可以对应于相同的第一特征信息。
在一些实施例中,存储器220还用于存储至少一份存储数据的存储信息,其中,存储对象的第一特征信息与至少一份存储数据的存储信息相关联。
在存储设备200中,存储对象的第一特征信息与存储对象的至少一份存储数据的存储信息相关联,以实现第一特征信息和存储数据的关联,即,在存储器220中每一个存储对象对应着第一特征信息以及存储信息,该存储信息指示存储对象的存储数据的存储地址。
例如,在存储器220中存储了一个人的多张图像的情况下,该存储器220中存储了该人的多张图像的第一特征信息,并且第一特征信息与这多张图像的存储信息相关联。其中,第一特征信息(和存储信息)与存储数据可以是存储在不同区域的,如分别存储在以上第二存储器1302和第一存储器1301中。
通过将存储对象的第一特征信息与存储数据存储在不同的区域, 同时又相关联,可以实现以第一特征信息作为索引来访问存储数据。在数据检索场景下,在存储设备200为固态硬盘(Solid State Disk,SSD)或闪存(Flash Memory)的情况下,通过利用第一特征信息作为索引,可以基于本地AI计算单元筛选出部分存储数据搬运至内存中进行比较处理,再将经处理的部分存储数据发送至存储设备200之外的CPU或AI芯片进行进一步比较处理,得到最终的检索结果;相较于将所有存储数据搬运至内存中进行比较处理,减少了数据搬运、降低了设备功耗。同时,将存储对象的第一特征信息与存储数据存储在不同的区域,又能够实现第一特征信息与存储数据的分离,使得第一特征信息的变化不影响存储数据。
举例来说,在用于获取存储对象的第一特征信息的方法发生变化的情况下,比如特征提取算法进行了改进,使得第一特征信息中所包含的特征图尺寸增加,然而由于第一特征信息与存储数据是分开存储的,所以实际存储的数据并不会产生变动。
应当理解,若存储器220只有一个存储区域,第一特征信息(与存储数据均存储在其中,也是可行的。
计算单元210用于获取检索数据的第二特征信息,根据第二特征信息与存储器220中的第一特征信息的比较结果确定目标特征信息,并根据目标特征信息得到对应的目标检索数据。其中,可以通过计算第一特征信息与第二特征信息之间的相似度,也即计算第一特征信息对应的特征向量与第二特征信息对应的特征向量之间的欧氏距离,来进行比较,并根据比较结果确定部分第一特征信息为目标特征信息。
在确定出目标特征信息(即部分第一特征信息)后,也就是确定了其对应的存储数据为目标检索数据,即有较大可能是检索结果的数据,故存储设备200可将目标检索数据作为中间结果发送给存储设备200之外的处理单元(如以上处理设备1),由处理单元进一步从中确定出检索结果。
在一些实施例中,计算单元210在用于根据目标特征信息得到对应的目标检索数据时,具体用于:根据目标特征信息相关联的存储信息,得到存储信息对应的目标检索数据。
进一步的,可以利用以上存储信息,实现第一特征信息与存储数据的关联。
在一些实施例中,存储数据的存储信息,包括存储对象对应的至少一个存储数据所存储的起始地址以及存储长度。其中,存储长度根据存储对象对应的至少一份存储数据的大小确定。
在一些开实施例中,存储设备200包括存储器220和计算单元210,其中存储器220用于存储至少一个存储对象的第一特征信息、每个存储对象对应的至少一份存储数据,存储对象的第一特征信息与至少一 份存储数据相关联,计算单元210用于获取检索数据的第二特征信息,根据第二特征信息与存储器220中的第一特征信息的比较结果确定目标特征信息,根据目标特征信息相关联存储数据得到的目标检索数据。
由此,存储设备200发送给CPU和内存等处理的数据只是其中存储数据的一部分,数据搬运量小,功耗低,检索效率高。
存储设备200可以用于实现以第一特征信息作为索引访问相应的存储数据(还可将存储对象的第一特征信息与存储数据存储在不同的区域,减少了数据搬运);并且通过利用设置在存储设备200本地中的计算单元210进行比对并获取目标检索数据,可以进一步减少数据搬运,提高检索速度。
在一些实施例中,可以将第二特征信息与存储器220中的第一特征信息进行比较,按照与第二特征信息相似度的降序确定至少一个第一特征信息作为目标特征信息。
可以是确定各第一特征信息与第二特征信息的相似度,并至少确定相似度最高的第一特征信息作为目标特征信息,或者是取相似度排名靠前的多个第一特征信息作为目标特征信息。
在一些实施例中,存储对象的第一特征信息可存储在存储器220的设定存储区域中。如可将存储器220中一设定地址段作为设定存储区域,用于存储存储对象的第一特征信息;或是将第一特征信息存储在以上第二存储器1302中。也即,对于所获取的多个存储对象的第一特征信息,将这些第一特征信息共同存储在设定存储区域中。
存储对象对应的至少一份存储数据可以存储在设定存储区域以外的区域,如存储在以上第一存储器1301中。
在一些实施例中,存储器220还用于将存储器220的设定存储区域划分为多个存储块,以实现对设定存储区域的区域划分,其中,每个存储块对应于至少一个存储对象。
在第一特征信息存储至设定存储区域后,还可将对应不同存储对象的第一特征信息划分入不同的存储块中。
其中,可以以多层级的方式对设定存储区域进行区域划分。例如,在存储器220的设定存储区域中存储了多个存储对象的第一特征信息的情况下,可以将多个存储对象中一个或多个的第一特征信息划分至同一个存储块中,得到第一层级的多个存储块。在第一层级的任一存储块中仍包含多个存储对象的第一特征信息的情况下,还可以依据相似的方式进一步进行划分,得到第二层级的多个存储块,以此类推。
在一些实施例中,多个存储块是基于目标排序结果对设定存储区域进行划分得到的,其中,目标排序结果是基于预设规则对设定存储区域中存储的多个存储对象的第一特征信息进行排序得到的。
在一个示例中,可以通过以下方式对设定存储区域进行区域划分。
首先,基于预设规则,对设定存储区域中存储的多个存储对象的第一特征信息进行排序。
预设规则可以是根据存储对象自身的特征设置的。例如,在存储器220中存储了多个人的图像时,可以根据人的年龄进行排序。举例来说,年龄越小的人对应的第一特征信息,则存储在越靠前。
还可以根据其他的规则来进行排序,例如,可以根据第一特征信息被查找的次数进行排序。举例来说,一个存储对象的第一特征信息被查找的次数越多,则存储对象的第一特征信息排列越靠前。那么在应用于数据检索场景时,该第一特征信息会更早被进行比对。
接下来,根据排序结果将存储器220的设定存储区域划分为多个存储块。对于排序结果相近的第一特征信息,可以将其划分在相同或相邻的存储块中。例如,在设定存储区域包括多个存储对象的第一特征信息的情况下,可以根据第一特征信息的排序结果,将每n个存储对象的第一特征信息存储在相同的存储块中。
在一些开实施例中,通过根据第一特征信息的排序结果对设定存储区域进行区域划分,可以使排名相近的第一特征信息存储在相同或相近的存储块中。
在一些实施例中,多个存储块是通过将相似度高于设定阈值的至少两个存储对象的第一特征信息划分至同一个存储块中得到的。
示例性的,还可以根据以下方式对设定存储区域进行区域划分。
首先,获取设定存储区域中存储的多个存储对象中,比较各存储对象的第一特征信息的相似度(如比较每两个存储对象的第一特征信息之间的相似度)。
其中,两个存储对象的第一特征信息之间的相似度,可以根据两个第一特征信息对应的特征向量之间的欧氏距离来确定,也可以利用其他方式进行计算,本公开对于相似度的计算方式不进行限定。
接下来,将相似度高于设定阈值的至少两个存储对象的第一特征信息划分至同一个存储块中。
其中,对于存储在同一个存储块中的存储对象的第一特征信息,可以是每两个存储对象的第一特征信息之间的相似度都高于设定阈值,或者可以是其中一个存储对象与至少一个其他存储对象的第一特征信息之间的相似度高于设定阈值。
在一些开实施例中,通过根据存储对象的第一特征信息之间的相似度来进行区域划分,可使相近的第一特征信息存储在相同存储块中。
图7示意性地示出了根据本公开实施例方式的存储设备200的存储方法示意图,如图7所示,存储器220中的设定存储区域20中存储有多个存储对象的第一特征信息,以及各个存储对象的存储信息,并且存储对象的第一特征信息与存储对象的存储数据的存储信息相关联。 其中,存储对象1的第一特征信息为特征值1,存储对象1的存储数据为图片1,且特征值1与图片1的存储地址1相关联;存储对象2的第一特征信息为特征值2,存储对象2的存储数据为图片2a和图片2b,且特征值2与图片2a和图片2b的存储地址2相关联;存储对象3的第一特征信息为特征值3,存储对象3的存储数据为图片3,且特征值3与图片3的存储地址3相关联。设定存储区域20被划分为多个存储块,也可以称为特征值块,如图7所示,存储对象1的特征值1(当然还可有存储地址1)存储在特征值块A中,存储对象2的特征值2以及存储对象3的特征值3(当然还可有存储地址2和存储地址3)共同存储在特征值块B中。
在一些实施例中,计算单元210在用于根据第二特征信息与存储器220中的第一特征信息的比较结果确定目标特征信息时,具体用于:将第二特征信息,与设定存储区域中各个存储块对应的第三特征信息进行比较,其中,存储块对应的第三特征信息根据存储块中存储的第一特征信息确定;确定与第二特征信息相似度最高的第三特征信息对应存储块,作为目标存储块;将第二特征信息与目标存储块中的第一特征信息进行比较,按照与第二特征相似度的降序确定至少一个特征信息作为目标特征信息。
示例性的,在存储器220的设定存储区域根据存储对象的第一特征信息划分多个存储块的情况下,计算单元210可以通过以下方式进行第二特征信息与第一特征信息的比较。
首先,将第二特征信息,与设定存储区域中各个存储块对应的第三特征信息进行比较。
其中,存储块对应的第三特征信息根据存储块中存储的第一特征信息确定。例如,可以通过对存储块中所存储的多个第一特征信息进行平均,得到第三特征信息。
接下来,确定与第二特征信息相似度最高的一个第三特征信息或相似度排名靠前的多个第三特征信息对应的存储块为目标存储块。即确定在各个存储块中,所存储的存储对象与检索数据最相似的存储块。
最后,将第二特征信息与目标存储块中的第一特征信息进行比较。
通过在与检索数据的第二特征信息最为接近的一个或多个存储块中,进一步进行第二特征信息的比较,可以缩小进行比较的范围,减少了处理的数据量,提高检索速度。
在一些实施例中,参照图20的数据处理系统300,存储设备200与第一处理单元301连接,第一特征信息通过以下方式得到:第一处理单元301利用预先训练的第一特征提取网络,对存储对象对应的其中一份存储数据进行特征提取,得到子特征信息,其中,第一特征提取网络设置在存储设备200之外的存储装置中;根据存储对象对应的 至少一份存储数据的子特征信息,得到存储对象的第一特征信息;将第一特征信息发送至存储设备200。
可将存储设备200与其它的具有数据处理能力的第一处理单元301连接,构成数据处理系统300,由第一处理单元301连接向存储设备200提供第一特征信息。
示例性的,可以通过以下方法获得存储对象的第一特征信息。
首先,利用预先训练的第一特征提取网络,存储设备200外的第一处理单元301(如以上处理设备1)对存储对象对应的其中一份存储数据进行特征提取,得到子特征信息。
以存储数据为图像为例,可以利用例如卷积神经网络来提取图像的子特征信息。
之后,根据存储对象对应的至少一份存储数据的子特征信息,得到存储对象的第一特征信息。
例如,可以通过将各个存储数据的子特征信息进行级联的方式,得到存储对象的第一特征信息;又例如,可以通过将各个存储数据的子特征信息进行平均,或者平均加权的方式,得到存储对象的第一特征信息,并发送至存储设备200中存储。
在一些实施例中,参照图20的数据处理系统300,存储设备200与第二处理单元302连接,第二特征信息通过以下方式得到:第二处理单元302利用预先训练的第二特征提取网络对检索数据进行特征提取,得到第二特征信息,其中,第二特征提取网络设置在存储设备200之外的存储装置中;将第二特征信息发送至存储设备200。
可将存储设备200与其它的具有数据处理能力的第二处理单元302连接,构成数据处理系统300,由第二处理单元302连接向存储设备200提供第而特征信息。
示例性的,可以通过以下方法获得存储对象的第二特征信息。
利用预先训练的第二特征提取网络,存储设备200外的第二处理单元302(如以上处理设备1)对检索数据进行特征提取得到第二特征信息,再将第二特征信息输入至存储设备200。
在一些实施例中,参照图20的数据处理系统300,存储设备200与第三处理单元303连接,存储设备200还用于将目标检索数据发送到第三处理单元303。
可将存储设备200与其它的具有数据处理能力的第三处理单元303连接,构成数据处理系统300。
示例性的,存储设备200在得到目标检索数据后,还可将其发送给第三处理单元303(如以上处理设备1),继续进行处理,以得到检索结果。
应当理解,数据处理系统300中可包括以上第一处理单元301、 第二处理单元302、第三处理单元303中的一个或多个,且第一处理单元301、第二处理单元302、第三处理单元303可以在实体上有一个处理单元(如以上处理设备1)实现。
以下以图搜图场景为例,对本公开实施例提出的数据检索方法进行说明。方法所应用的数据检索系统构架如图13所示,其中存储设备(存储设备200)包括AI计算单元61(计算单元210)以及存储器62(存储器220),其中,存储器62中的数据存储方式可以参见针对图7进行的描述,此时不再赘述;AI计算单元61与存储设备外部的CPU或AI芯片63(如以上第一处理单元、第二处理单元、第三处理单元)连接,可以获取CPU或AI芯片63进行处理后的数据,也可将检索到的数据发送给CPU或AI芯片63。
首先,利用CPU或AI芯片63对检索图像进行特征提取,得到设定大小的特征数据作为搜索图像的目标特征值(第二特征信息)。如,可得到1*512的特征数据,或2*512的特征数据作为目标特征值。
接下来,将目标特征值发送至存储设备。存储设备可以是在内部设置AI计算单元61的DDR、SSD、闪存等。
AI计算单元61在接收到目标特征值后,将目标特征值与设定存储区域中存储的多个特征值(第一特征值)进行一一比较,确定最接近的一个或多个特征值,并将这些特征值所对应的存储数据,发送至存储设备外部的CPU、AI芯片63、显示设备等。
或者,AI计算单元61在接收到目标特征值后,将目标特征值与各个特征值块的特征值(第三特征值)进行一一比较,在确定最接近的一个特征值块后,在与特征值块中的各特征值(第一特征值)进一步进行比较,以确定最接近的一个或多个特征值。
如图13所示,在AI计算单元61确定与目标特征值最接近的特征值块为特征值块B的情况下,可以不再对特征值块A中的特征值进行比较,而是只将目标特征值与特征值块B中的特征值一一进行比较,以确定最接近的一个或多个特征值。例如,在特征值2是最接收的一个特征值的情况下,则获取特征值2相关联的图片2a和图片2b,并将图片2a和图片2b发送至CPU、AI芯片63、显示设备等。
CPU或AI芯片63可以进一步对目标检索数据进行比对,以确定最终的目标数据,通过只比对存储设备200确定的数据,减少了CPU或AI芯片63的计算消耗;显示设备可以直接对目标检索数据进行显示,以由用户自行确定最终的目标数据。
图14示意性地示出了根据本公开实施方式的一种数据存储方法的流程,方法可由外界的处理单元(如第一处理单元)对图6所示的存储设备200实施。如图7所示,该方法可以包括步骤701~704。
在步骤701中,获得存储对象的第一特征信息。
其中,第一特征信息是对存储对象对应的至少一份存储数据进行特征提取得到的。
在步骤702中,将存储对象的第一特征信息存储在存储器的设定存储区域中。
在步骤703中,将存储对象对应的至少一份存储数据存储在存储器中,并获取至少一份存储数据的存储信息。
在步骤704中,将存储对象的第一特征信息与至少一份存储数据的存储信息相关联。
在一些开实施例中,获得存储对象的第一特征信息,将存储对象的第一特征信息存储在存储器的设定存储区域中;将存储对象对应的至少一份存储数据存储在存储器中,并获取至少一份存储数据的存储信息;将存储对象的第一特征信息与至少一份存储数据的存储信息相关联。通过上述存储方式,可以实现以第一特征信息作为索引访问相应的存储数据,避免了将全部存储数据搬运至内存中进行比较处理,减少数据搬运、提升数据检索的速度。
图15示意性地示出了根据本公开实施方式的数据检索方法的流程图,方法应用于图6所示的存储设备200中的计算单元210。方法可以包括步骤801~804。
在步骤801中,获取检索数据的第二特征信息。
在本步骤中,可以利用存储设备之外的CPU或AI处理芯片(如第二处理单元)对检索数据进行特征提取。与存储对象的存储数据相似,检索数据可以包括图像、音频文件等。例如,在以图搜图的场景下,可以利用预先训练的第二特征提取网络对检索图像进行特征提取。其中,第二特征提取网络可以与第一特征提取网络相同是同一个网络,也可以是不同的网络。
在步骤802中,将第二特征信息,与存储器中的设定存储区域中的第一特征信息进行比较。
其中,第一特征信息是对存储对象对应的至少一份存储数据进行特征提取得到的,存储器中还存储有存储对象对应的至少一份存储数据,第一特征信息与至少一份存储数据的存储信息相关联。
在步骤803中,确定与第二特征信息相似度最高的至少一个第一特征信息作为目标特征信息。也即确定出与检索图像最相似的一个或多个存储对象。
在步骤804中,根据目标特征信息相关联的存储信息,得到存储信息指示的存储地址中的目标检索数据。
在一些开实施例中,通过将检索数据的第二特征信息与设定存储区域中的第一特征信息进行比较,以相似度最高的第一特征信息作为索引,获取相关联的存储地址中的目标检索数据,相较于将检索对象 的数据直接与存储数据进行一一比对,在存储设备中进行大规模检索的方式,减少了处理的数据量,提高了检索速度;并且,通过利用设置在存储设备本地中的AI计算单元进行比对并获取目标检索数据,可以减少数据搬运,进一步提高检索速度。
为了实现本公开任一实施例的数据存储方法,本公开实施例还提供了一种数据存储装置。图16示意性地示出了根据本公开一实施例的数据存储装置的结构示意图,例如,该装置可以应用于电子设备。如下的描述中,将简单描述该装置的各个模块的功能,其详细的处理可以结合参见前述的本公开任一实施例的数据存储方法的描述。
如图16所示,数据存储装置包括:第一获取单元901,用于获得存储对象的第一特征信息,其中,第一特征信息是对存储对象对应的至少一份存储数据进行特征提取得到的;存储单元902,用于将存储对象的第一特征信息存储在存储器的设定存储区域中;第二获取单元903,用于将存储对象对应的至少一份存储数据存储在存储器中,并获取至少一份存储数据的存储信息;关联单元904,用于将存储对象的第一特征信息与至少一份存储数据的存储信息相关联。
在一些实施例中,装置还包括划分单元,用于根据存储对象的第一特征信息,将存储器的设定存储区域划分多个存储块,其中,每个存储块对应于至少一个存储对象。
在一些实施例中,划分单元在用于根据存储对象的第一特征信息,将存储器的设定存储区域划分多个存储块时,具体用于:基于预设规则,对设定存储区域中存储的多个存储对象的第一特征信息进行排序;根据排序结果将存储器的设定存储区域划分为多个存储块。
在一些实施例中,划分单元在用于根据存储对象的第一特征信息,将存储器的设定存储区域划分多个存储块时,具体用于:获取设定存储区域中存储的多个存储对象中,每两个存储对象之间的第一特征信息的相似度;将相似度高于设定阈值的至少两个存储对象的第一特征信息划分至(或者说存储在)同一个存储块中。
在一些实施例中,装置还包括特征提取单元(如第一处理单元),用于利用预先训练的第一特征提取网络,对存储对象对应的其中一份存储数据进行特征提取,得到子特征信息;根据存储对象对应的至少一份存储数据的子特征信息,得到存储对象的第一特征信息。
在一些实施例中,存储信息包括起始地址和存储长度,其中,存储长度根据存储对象对应的至少一份存储数据的大小确定。
为了实现本公开任一实施例的检索方法,本公开实施例还提供了一种数据检索装置。图17示意性地示出了根据本公开一实施例的数据检索装置的结构示意图,例如,该装置可以应用于电子设备。如下的描述中,将简单描述该装置的各个模块的功能,其详细的处理可以结 合参见前述的本公开任一实施例的数据存储方法的描述。
如图17所示,数据检索装置包括:第三获取单元1001,用于获取检索数据的第二特征信息;比较单元1002,用于将第二特征信息,与存储器中的设定存储区域中的第一特征信息进行比较,其中,第一特征信息是对存储对象对应的至少一份存储数据进行特征提取得到的,存储器中还存储有存储对象对应的至少一份存储数据,第一特征信息与至少一份存储数据的存储信息相关联;确定单元1003,用于确定与第二特征信息相似度最高的至少一个第一特征信息作为目标特征信息;得到单元1004,用于根据目标特征信息相关联的存储信息,得到存储信息指示的存储地址中的目标检索数据。
在一些实施例中,装置还包括第一发送单元,用于使第一处理单元利用预先训练的第二特征提取网络对检索数据进行特征提取,得到第二特征信息;将第二特征信息发送至存储设备。
在一些实施例中,存储器的设定存储区域根据存储对象的第一特征信息划分多个存储块,其中,每个存储块对应于至少一个存储对象;比较单元用于:将第二特征信息,与设定存储区域中各个存储块对应的第三特征信息进行比较,其中,存储块对应的第三特征信息根据存储块中存储的第一特征信息确定;确定与第二特征信息相似度最高的第三特征信息对应存储块,作为目标存储块;将第二特征信息与目标存储块中的第一特征信息进行比较。
在一些实施例中,装置还包括第二发送单元,用于使存储设备将目标检索数据发送到第三处理单元。
本公开实施例还提供了一种电子设备400,参照图18,包括存储器410和处理器402,存储器401用于存储可在处理器402上运行的计算机指令,处理器401用于执行计算机指令以实现本公开任一实施例的数据存储方法或数据检索的方法。
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时公开任一实施例的数据检索方法或数据检索的方法。
本公开实施例提供的一种数据处理方法可基于本公开实施例的存储设备执行。其中,存储设备包括存储器和计算单元,存储器中存储有至少一个存储对象的第一特征信息、每个存储对象对应的至少一份存储数据,其中,第一特征信息是对存储对象对应的至少一份存储数据进行特征提取得到的。
参照图19,本公开实施例的方法包括:
S201、计算单元获取检索数据的第二特征信息。
S202、计算单元根据第二特征信息与存储器中的第一特征信息的比较结果确定目标特征信息。
S203、计算单元根据目标特征信息得到对应的目标检索数据。
应当注意,尽管在上文详细描述中提及了数据存储装置和数据检索装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的行为或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种设备模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和设备通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
以上仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

Claims (18)

  1. 一种计算系统,包括处理设备以及存储设备;所述存储设备包括计算单元;其中,
    所述存储设备用于利用所述计算单元,对所述存储设备中的存储数据进行计算处理,得到中间处理结果;
    所述处理设备用于接收所述存储设备发送的与所述中间处理结果对应的待处理数据,并根据所接收的所述待处理数据进行计算处理,得到目标处理结果。
  2. 根据权利要求1所述的系统,其中,所述处理设备包括第一处理设备以及第二处理设备;其中,
    所述第一处理设备用于向所述存储设备和所述第二处理设备分发计算任务;
    所述存储设备用于利用所述计算单元,根据所接收的计算任务对所述存储设备中的存储数据进行计算处理,得到中间处理结果;
    所述第二处理设备用于接收所述存储设备发送的与所述中间处理结果对应的待处理数据,并根据所接收的计算任务对所述待处理数据进行计算处理,得到目标处理结果。
  3. 根据权利要求2所述的系统,其中,所述第一处理设备包括中央处理器,所述第二处理设备包括人工智能芯片,所述计算单元包括人工智能计算单元。
  4. 根据权利要求1所述的系统,其中,所述存储设备包括第一存储器和第二存储器;所述第一存储器包括第一计算单元;所述第二存储器包括第二计算单元;
    所述第一存储器用于利用所述第一计算单元对所述第一存储器中的存储数据进行计算处理,得到第一处理结果;
    所述第二存储器用于接收所述第一存储器发送的与所述第一处理结果对应的第一待处理数据并进行存储,其中,所述第一待处理数据包括所述存储数据中的一部分;以及用于利用所述第二计算单元,对所述第二存储器中的第一待处理数据进行计算处理,得到所述中间处理结果。
  5. 根据权利要求1所述的系统,其中,所述存储设备包括第一存储器和第二存储器;所述第一存储器包括第一计算单元;所述第二存储器包括第二计算单元;所述第二存储器中存储有所述第一存储器中的存储数据的索引信息;
    所述第二存储器用于利用所述第二计算单元,在所述索引信息中确定与检索数据匹配的目标索引信息;
    所述第一存储器用于利用所述第一计算单元,根据所述目标索引 信息获取在所述第一存储器中对应的待处理数据,并将所述待处理数据发送至所述处理设备。
  6. 根据权利要求5所述的系统,其中,所述第二存储器中的存储数据的索引信息包括所述存储数据的第一特征信息;
    所述第二存储器用于利用所述第二计算单元,对检索数据的第二特征信息与所述第二存储器中的存储数据的第一特征信息进行比较,根据比较结果确定目标特征信息;
    所述第一存储器用于利用所述第一计算单元,根据所述目标特征信息获取在所述第一存储器中对应的待处理数据,并将所述待处理数据发送至所述第二处理设备。
  7. 根据权利要求4至6任一项所述的系统,其中,所述第一存储器为非易失性存储器,所述第二存储器为随机存储器。
  8. 一种存储设备,其中,包括存储器和计算单元;其中,
    所述存储器用于存储至少一个存储对象的第一特征信息、每个存储对象对应的至少一份存储数据,其中,所述第一特征信息是对所述存储对象对应的至少一份存储数据进行特征提取得到的;
    所述计算单元用于获取检索数据的第二特征信息,根据所述第二特征信息与所述存储器中的第一特征信息的比较结果确定目标特征信息,根据所述目标特征信息得到对应的目标检索数据。
  9. 根据权利要求8所述的设备,其中,
    所述存储器还用于存储所述至少一份存储数据的存储信息,其中,所述存储对象的第一特征信息与所述至少一份存储数据的存储信息相关联;
    所述计算单元在用于根据所述目标特征信息得到对应的目标检索数据时,具体用于:根据所述目标特征信息相关联的存储信息,得到所述存储信息对应的目标检索数据。
  10. 根据权利要求9所述的设备,其中,所述存储信息包括起始地址和存储长度,其中,所述存储长度根据所述存储对象对应的至少一份存储数据的大小确定。
  11. 根据权利要求8所述的设备,其中,所述计算单元在用于根据所述第二特征信息与所述存储器中的第一特征信息的比较结果确定目标特征信息时,具体用于:
    将所述第二特征信息与所述存储器中的第一特征信息进行比较,按照与所述第二特征信息相似度的降序确定至少一个第一特征信息作为所述目标特征信息。
  12. 根据权利要求8所述的设备,其中,所述第一特征信息存储在设定存储区域中;
    所述存储器还用于将所述设定存储区域根据所述存储对象的第一 特征信息划分多个存储块,其中,每个所述存储块对应于至少一个存储对象。
  13. 根据权利要求12所述的设备,其中,所述多个存储块是基于目标排序结果对所述设定存储区域进行划分得到的,其中,所述目标排序结果是基于预设规则对所述设定存储区域中存储的多个存储对象的第一特征信息进行排序得到的。
  14. 根据权利要求12所述的设备,其中,所述多个存储块是通过将相似度高于设定阈值的至少两个存储对象的第一特征信息划分至同一个存储块中得到的。
  15. 根据权利要求12所述的设备,其中,所述计算单元在用于所述根据所述第二特征信息与所述存储器中的第一特征信息的比较结果确定目标特征信息时,具体用于:
    将所述第二特征信息,与所述设定存储区域中各个存储块对应的第三特征信息进行比较,其中,所述存储块对应的第三特征信息根据所述存储块中存储的第一特征信息确定;
    确定与所述第二特征信息相似度最高的第三特征信息对应存储块,作为目标存储块;
    将所述第二特征信息与所述目标存储块中的第一特征信息进行比较,按照与所述第二特征相似度的降序确定至少一个特征信息作为目标特征信息。
  16. 根据权利要求8至15任一项所述的设备,其中,所述存储设备与第一处理单元连接,所述第一特征信息通过以下方式得到:
    所述第一处理单元利用预先训练的第一特征提取网络,对所述存储对象对应的其中一份存储数据进行特征提取,得到子特征信息,其中,所述第一特征提取网络设置在所述存储设备之外的存储装置中;
    根据所述存储对象对应的至少一份存储数据的子特征信息,得到所述存储对象的第一特征信息;
    将所述第一特征信息发送至所述存储设备。
  17. 根据权利要求8至15任一项所述的设备,其中,所述存储设备与第二处理单元连接,所述第二特征信息通过以下方式得到:
    所述第二处理单元利用预先训练的第二特征提取网络对所述检索数据进行特征提取,得到所述第二特征信息,其中,所述第二特征提取网络设置在所述存储设备之外的存储装置中;
    将所述第二特征信息发送至所述存储设备。
  18. 根据权利要求8至15任一项所述的设备,其中,所述存储设备与第三处理单元连接,所述存储设备还用于将所述目标检索数据发送到所述第三处理单元。
PCT/CN2022/115723 2021-09-08 2022-08-30 计算系统、存储设备 WO2023036009A1 (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202111051844.5 2021-09-08
CN202111050484.7 2021-09-08
CN202111051844.5A CN113849454A (zh) 2021-09-08 2021-09-08 计算系统
CN202111050484.7A CN113836332A (zh) 2021-09-08 2021-09-08 存储设备

Publications (1)

Publication Number Publication Date
WO2023036009A1 true WO2023036009A1 (zh) 2023-03-16

Family

ID=85507216

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/115723 WO2023036009A1 (zh) 2021-09-08 2022-08-30 计算系统、存储设备

Country Status (1)

Country Link
WO (1) WO2023036009A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996139A (zh) * 2009-08-28 2011-03-30 百度在线网络技术(北京)有限公司 数据匹配方法和数据匹配装置
US20140112553A1 (en) * 2012-10-19 2014-04-24 Fujitsu Limited Image processing device, image processing method, and storage medium storing image processing program
CN111275179A (zh) * 2020-02-03 2020-06-12 苏州浪潮智能科技有限公司 一种基于分布式权值存储加速神经网络计算的架构及方法
CN113204372A (zh) * 2021-04-28 2021-08-03 浙江大学 存储受限型哈希算法的加速装置及方法
CN113377293A (zh) * 2021-07-08 2021-09-10 支付宝(杭州)信息技术有限公司 用于在存储设备中进行计算的方法及装置、存储设备
CN113836332A (zh) * 2021-09-08 2021-12-24 北京灵汐科技有限公司 存储设备
CN113849454A (zh) * 2021-09-08 2021-12-28 北京灵汐科技有限公司 计算系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101996139A (zh) * 2009-08-28 2011-03-30 百度在线网络技术(北京)有限公司 数据匹配方法和数据匹配装置
US20140112553A1 (en) * 2012-10-19 2014-04-24 Fujitsu Limited Image processing device, image processing method, and storage medium storing image processing program
CN111275179A (zh) * 2020-02-03 2020-06-12 苏州浪潮智能科技有限公司 一种基于分布式权值存储加速神经网络计算的架构及方法
CN113204372A (zh) * 2021-04-28 2021-08-03 浙江大学 存储受限型哈希算法的加速装置及方法
CN113377293A (zh) * 2021-07-08 2021-09-10 支付宝(杭州)信息技术有限公司 用于在存储设备中进行计算的方法及装置、存储设备
CN113836332A (zh) * 2021-09-08 2021-12-24 北京灵汐科技有限公司 存储设备
CN113849454A (zh) * 2021-09-08 2021-12-28 北京灵汐科技有限公司 计算系统

Similar Documents

Publication Publication Date Title
US20210279285A1 (en) Method and apparatus for supporting machine learning algorithms and data pattern matching in ethernet ssd
JP6721681B2 (ja) 並列検索動作を実行する方法及び装置
US9747547B2 (en) Hardware enhancements to radial basis function with restricted coulomb energy learning and/or k-Nearest Neighbor based neural network classifiers
CN109165307B (zh) 一种特征检索方法、装置和存储介质
US9269041B2 (en) Hardware enhancements to radial basis function with restricted coulomb energy learning and/or K-nearest neighbor based neural network classifiers
CN104731882B (zh) 一种基于哈希编码加权排序的自适应查询方法
US20210142210A1 (en) Multi-task segmented learning models
CN105046214A (zh) 基于聚类的在线式多人脸图像处理的方法
WO2020134703A1 (zh) 一种基于神经网络系统的图像处理方法及神经网络系统
Tang et al. An artificial immune system approach to document clustering
CN110909817B (zh) 分布式聚类方法及系统、处理器、电子设备及存储介质
US20180210907A1 (en) Data management system, data management method, and computer program product
WO2022179023A1 (zh) 一种排序装置及方法
US20220139085A1 (en) Method and apparatus for video frame processing
WO2022007596A1 (zh) 图像检索系统、方法和装置
WO2023036009A1 (zh) 计算系统、存储设备
CN113849454A (zh) 计算系统
CN113836332A (zh) 存储设备
Nakahara et al. A tri-state weight convolutional neural network for an FPGA: Applied to YOLOv2 object detector
US20210201088A1 (en) Image classification system and method
WO2016050172A1 (zh) 图片压缩方法及装置
CN112214627A (zh) 搜索方法、可读存储介质和电子设备
CN106407215B (zh) 一种数据处理方法及装置
Jose et al. Optimized binary hashing codes generated by siamese neural networks for image retrieval
US20240045861A1 (en) System for classifying data based on a classification algorithm and method of operating the same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22866475

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE