  Approximate nearest neighbor search (ANNS) plays an indispensable role in a
wide variety of applications, including recommendation systems, information
retrieval, and semantic search. Among the cutting-edge ANNS algorithms,
graph-based approaches provide superior accuracy and scalability on massive
datasets. However, the best-performing graph-based ANN search solutions incur
tens of hundreds of memory footprints as well as costly distance computation,
thus hindering their efficient deployment at scale. The 3D NAND flash is
emerging as a promising device for data-intensive applications due to its high
density and nonvolatility. In this work, we present the near-storage processing
(NSP)-based ANNS solution Proxima, to accelerate graph-based ANNS with
algorithm-hardware co-design in 3D NAND flash. Proxima significantly reduces
the complexity of graph search by leveraging the distance approximation and
early termination. On top of the algorithmic enhancement, we implement Proxima
search algorithm in 3D NAND flash using the heterogeneous integration
technique. To maximize 3D NAND's bandwidth utilization, we present customized
dataflow and optimized data allocation scheme. Our evaluation results show
that: compared to graph ANNS on CPU and GPU, Proxima achieves a magnitude
improvement in throughput or energy efficiency. Proxima yields 7x to 13x
speedup over existing ASIC designs. Furthermore, Proxima achieves a good
balance between accuracy, efficiency and storage density compared to previous
NSP-based accelerators.
