Step 1: Creating a large mesh of 1x1 squares
There are several ways to accomplish step 1, here's one possibility: Create a new 1x1 square as a new object. Use the "Array" modifier to make a row of 1x1 squares, wider than your target object. Apply that modifier, then use a new "Array" modifier (set to Z offset instead of X) to make multiple rows, taller than the target object. Apply this modifier as well, and "Merge Doubles" on the resulting mesh of 1x1 squares.
You should end up with a mesh of connected 1x1 squares, that extends larger in all directions from the target object that you hope to cut.
Step 2. Use Knife Project
With your large mesh selected in Object Mode, shift-right-click on the original target object, to multi-select that. The target should be "active" selected object, with the new mesh a reddish-orange multi-selected color. Enter "Edit mode" on the target, with all vertices selected. Set your view to look along the axis perpendicular to the meshes (typically, numberpad 7, 1, or 3).
Finally, click the Knife Project
button in the left margin. This should cut a batch of 1x1 squares into your target mesh.
Tab
into Edit Mode, keyA
once or twice until everything is selected, keyX
to open the Delete menu, and select Only Faces. KeySpace
to open the search menu, type Grid Fill, then keyEnter
. $\endgroup$