If you want to read/write from the SD card, you must know the SPI protocol, that's it.
However, If you want to make it compatible with windows (linux, etc..) you must adhere to the FAT
format which is very complex. You can either spend a year learning it, or you can use off the shelf
chips that contain the fat stack.
Alfat is one of several companies that create a system where you communicate using DOS-like
commands and UART to write the code and the chip handles the FAT.
Project Examples (Mine is 2nd from bottom, the GPS logger)http://www.alfat.co.uk/projects.html