IP Library › Granted Patent US 12,314,322
Granted Patent B2
US 12,314,322 · App. 17/322,601 · Granted May 27, 2025

Method and apparatus for supporting machine learning algorithms and data pattern matching in ethernet SSD

Inventors: Sompong P. Olarig (Pleasanton, CA); Fred Worley (San Jose, CA); Nazanin Farahpour (Los Angeles, CA)
Assignee: Samsung Electronics Co., Ltd.
G06F16/9038G06F16/583G06F16/951G06N3/045G06N3/048G06N3/08G06T1/20G06T11/001
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,314,322
App. No.
17/322,601
Granted
May 27, 2025
Kind
B2
Abstract

A data storage device includes a memory array for storing data; a host interface for providing an interface with a host computer running an application; a central control unit configured to receive a command in a submission queue from the application and initiate a search process in response to a search query command; a preprocessor configured to reformat data contained in the search query command and generate a reformatted data; and one or more data processing units configured to extract one or more features from the reformatted data and perform a data operation on the data stored in the memory array in response to the search query command and return matching data from the data stored in the memory array to the application via the host interface.

Claims (40)

1. A data storage device comprising:

a memory for storing data;

a host interface compatible with non-volatile memory express over fabrics (NVMeoF) and capable of receiving a command and a first data associated with the command from an external application, the first data comprising image data; and

a processor extracting a feature from the image data, performing a data operation on the data stored in the memory based on the command, identifying matching data among the data stored in the memory based on the feature, and returning the matching data to the external application via the host interface.

2. The data storage device of claim 1 , further comprising a preprocessor generating a reformatted data by reformatting the first data received from host interface based on at least one of the command and a type of the first data, and extracting the feature from the reformatted data.

3. The data storage device of claim 2 , wherein the first data is an image data, and the reformatted data is in a red/green/blue (RGB) format.

4. The data storage device of claim 1 , wherein the data storage device is attachable to a fabric compatible with the NVMeoF.

5. The data storage device of claim 1 , wherein the processor generates a binary code corresponding to the feature.

6. The data storage device of claim 1 , wherein the processor includes a convolution engine (CE) that extracts the feature in a convolutional neural network (CNN) layer.

7. The data storage device of claim 6 , wherein the convolution engine computes a neural descriptor for the CNN layer and compresses the neural descriptor.

8. The data storage device of claim 1 , wherein the processor further extracts a stored feature for the data stored in the memory and compares the stored feature with the feature of the first data.

9. The data storage device of claim 8 , wherein the processor further calculates a Hamming distance for the data stored in the memory.

10. The data storage device of claim 9 , wherein the processor further selects the matching data from the data stored in the memory based on the Hamming distance.

11. A method comprising:

receiving, at a data storage device, a command and a first data associated with the command from an external application via a host interface between a host computer, the host interface being compatible with non-volatile memory express over fabrics (NVMeoF), and the first data comprising image data;

extracting, in the data storage device, a feature from the image data;

performing, in the data storage device, a data operation on data stored in a memory of the data storage device based on the command;

identifying matching data among the data stored in the memory based on the feature; and

returning the matching data to the external application via the host interface.

12. The method of claim 11 , further comprising:

generating a reformatted data by reformatting the first data received from host interface based on at least one of the command and a type of the first data; and

extracting the feature from the reformatted data.

13. The method of claim 12 , wherein the first data is an image data, and the reformatted data is in a red/green/blue (RGB) format.

14. The method of claim 11 , wherein the data storage device is attachable to a fabric compatible with the NVMeoF.

15. The method of claim 11 , further comprising generating a binary code corresponding to the feature.

16. The method of claim 11 , further comprising:

extracting a stored feature for the data stored in the memory; and

comparing the stored feature with the feature of the first data.

17. The method of claim 16 , further comprising:

calculating a Hamming distance for the data stored in the memory.

18. The method of claim 17 , further comprising:

selecting the matching data from the data stored in the memory based on the Hamming distance.

19. A method comprising:

receiving, at a data storage device, a command and a first data associated with the command from an external application via a host interface between a host computer, the host interface being compatible with non-volatile memory express over fabrics (NVMeoF);

extracting, in the data storage device, a feature from the first data;

performing, in the data storage device, a data operation on data stored in a memory of the data storage device based on the command;

identifying matching data among the data stored in the memory based on the feature; and

returning the matching data to the external application via the host interface,

wherein the feature is extracted using a convolution engine of the data storage device, and the convolution engine extracts the feature in a convolutional neural network (CNN) layer.

20. The method of claim 19 , wherein the convolution engine computes a neural descriptor for the CNN layer and compresses the neural descriptor.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2021
From: OLARIG, SOMPONG P.; WORLEY, FRED; FARAHPOUR, NAZANIN
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 056264/0754 →
Continuity (3)
Continuation 15472061 · Mar 28, 2017
Provisional Application 62441073 · Dec 30, 2016
Related Publication 20210279285A1 · Sep 9, 2021
References Cited (37)
US 7401253B2 · Winarski et al. · 2008 [cited by applicant]
US 7567252B2 · Buck et al. · 2009 [cited by applicant]
US 7881525B2 · Mattausch et al. · 2011 [cited by applicant]
US 8634247B1 · Sprouse et al. · 2014 [cited by applicant]
US 8792279B2 · Li et al. · 2014 [cited by applicant]
US 9053008B1 · Horn · 2015 [cited by applicant]
US 9158540B1 · Tzelnic et al. · 2015 [cited by applicant]
US 9171264B2 · Finocchino · 2015 [cited by applicant]
US 9182912B2 · Bert · 2015 [cited by applicant]
US 9330143B2 · Obukhov et al. · 2016 [cited by applicant]
US 9396415B2 · Chertok et al. · 2016 [cited by applicant]
US 9450606B1 · Winter · 2016 [cited by applicant]
US 10140063B2 · Worley et al. · 2018 [cited by applicant]
US 10210196B2 · Kim et al. · 2019 [cited by applicant]
US 10467037B2 · Choi et al. · 2019 [cited by applicant]
US 10545861B2 · Preier et al. · 2020 [cited by applicant]
US 20050125369A1 · Buck et al. · 2005 [cited by applicant]
US 20120096237A1 · Punkunus · 2012 [cited by applicant]
US 20150019506A1 · Aronovich · 2015 [cited by applicant]
US 20150149695A1 · Khan · 2015 [cited by applicant]
US 20150100860A1 · Lee et al. · 2015 [cited by applicant]
US 20150317176A1 · Hussain et al. · 2015 [cited by applicant]
US 20160170892A1 · Hall et al. · 2016 [cited by applicant]
US 20160188207A1 · Choi et al. · 2016 [cited by applicant]
US 20160224544A1 · Tristan et al. · 2016 [cited by applicant]
KR 1020060118598A · 2006 [cited by applicant]
KR 1020080086227A · 2008 [cited by applicant]
KR 1020130098470A · 2013 [cited by applicant]
KR 1020160096279A · 2016 [cited by applicant]
KR 1020160106501A · 2016 [cited by applicant]
Metz et al., Under the Hood with NVMe over Fabrics, SNIA Ethernet Storage Forum, Dec. 15, 2015, Total p. 47 (Year: 2015). [cited by examiner]
Lockwood et al., Storage 2020: A Vision for the Future of HPC Storage, National Energy Research Scientific Computing Center Lawrence Berkeley National Laboratory; Report No. LBNL-2001072; Oct. 20, 2017; Total Pages 37 (… [cited by examiner]
Castelli, Vittorio et al.; Image Databases—Search and Retrieval of Digital Imagery; 2002; John Wiley & Sons, Inc.; 595 pages. (Year: 2002). [cited by applicant]
Babenko, Artem et al.; Aggregating Deep Convolutional Features for Image Retrieval; 2015 IEEE International Conference on Computer Vision; pp. 1269-1277. (Year: 2015). [cited by applicant]
Babenko, Artern et al.; Neural Codes for Image Retrieval; Springer International Publishing Switzerland 2014; ECCV 2014, Part I, LNCS 8689, pp. 584-599. (Year: 2014). [cited by applicant]
Alzu'bu, Ahmad et al.; Semantic content-based image retrieval: A comprehensive study; Elsevier; J. Vis. Commun. Image R. 32 (2015) 20-54. (Year: 2015). [cited by applicant]
Novak, David et al.; Large-scale Image Retrieval using Neural Net Descriptors; 2 pages. SIGIR'15, Aug. 9-13, 2015, Santiago, Chile. ACM 978-1-4503-3621—May 15, 08. DOI: http://dx.doi.org/1 0.1145/2766462.2767868. (Year:… [cited by applicant]