1. Place the beans in a large saucepan and cover with cold water by about 2 inches. Bring to a boil and lower the heat to a simmer. Cook for 5 minutes, remove from the heat, cover, and let sit for one hour. Drain.
2. In a large, heavy-bottomed pot, combine the beans, herb bundle, ham hocks, onion, garlic, and water. Tie herbs together with kitchen twine and add to the pot. Bring to a boil, cover, and reduce to a simmer. Cook until the beans and ham hocks are completely tender (1 1/2 hours).
3. Turn off the heat. Remove the herb bundle and discard. Remove the ham hocks and cool until safe to handle (10 minutes). Remove the meat from the hocks, discarding the bones, fat, and skin. Cut the meat into small cubes.
4. Using a stick blender, puree about 3 cups of soup with a bit of the cooking liquid. Stir the puree and diced meat into the soup. Adjust the seasoning with pepper. Heat the soup to serve.