1. A non-volatile memory formed on a semiconductor substrate, comprising: a rectangular array of trenches formed into a surface of the substrate along first and second directions across a surface of the substrate that are orthogonal to each other, the individual trenches having a cross-sectional shape in the first direction including opposite sidewalls that are substantially perpendicular with the substrate surface and joined at their bottom by a bottom surface that is substantially parallel with the substrate surface, charge storage elements formed as spacers along the opposite sidewalls of individual trenches with space therebetween in the first direction but without extending outside of the trenches in the first direction beyond the opposite sidewalls, at least first conductive control gates positioned within the trenches between the charge storage elements in the first direction in a manner to be individually field coupled with at least one of the charge storage elements in the trench, the first control gates being connected to first conductive control lines that extend in the second direction, and source and drain regions located within the substrate at least at the bottoms of the individual trenches.