File carving is the practice of searching an input for files based on the input's content. Most often the input is a disk image, but it's possible (and sometimes practical) to carve individual files or physical memory.
Most file carvers operate by looking for file headers and/or footers, and then "carving out" the blocks between these two boundaries. Semantic Carving performs carving based on an analysis of the contents of the proposed files.
Many carving programs have an option to only look at or near sector boundaries where headers are found. Searching the entire input can find files that have been embedded into other formats, such as JPEGs being embedded into Microsoft Word documents.