У меня "знать" ассоциируется с прошлым, а "ведать" с будущем. Например:
"Он знает, что делает" - т.е. имеет опыт в этом деле.
"Он не ведает, что творит" - он не понимает, к каким постедствиям это приведёт.
У этих глаголов есть общие значения: иметь сведения или представления о чем-либо. Но «знать» — это нейтральный и более часто употребляемый глагол, который имеет больше значений. А у «ведать», во-первых, значений гораздо меньше, а во-вторых, он чаще всего используется с отрицанием: не ведаю, не ведал.