The behavior of Distributed Shared Memory Systems is dictated by the Memory Consistency Model. Several Memory Consistency Models have been proposed in the literature and they fit basically in two categories: uniform and hybrid models. To provide a better understanding on the semantics of the memory models, researchers have proposed formalisms to define them. Unfortunately, most of the work has been done in the definition of uniform memory models. In this paper, we propose a general, unified and formal framework where uniform and hybrid memory consistency models can be defined. To prove the generality of the framework, we use it to define the following Memory Models: Atomic Consistency, Sequential Consistency, Causal Consistency, PRAM Consistency, Slow Memory, Weak Ordering, Release Consistency, Entry Consistency and Scope Consistency.