Where are static variables stored?
Suppose I am using a 8051.


Then you are supposed to know about CODE, DATA, IDATA, XDATA and PDATA memory - 8051 is a multi Harvard architecture. 


  Where that Static Variable will be stored? 


That is a good question. It will depend on the compiler settings - usually called "memory model"; But you can also explicitly say where the compiler will put it:

xdata unsigned int i;  // integer in XDATA memory


The compiler/linker should be able to crate a Map file, which will show you the addresses of your variables.


  CONST are stored in ROM.


This probably depends on the compiler and needs to be checked against the Map file. I remember tagging those explicitly:

code const char fooStr[]="Foo";  // string constant in code = flash memory



  And global variables are stored in Flash


Both true and false. They reside in one of the 8051's data memories, but the initial value will be loaded from Flash at startup time - unless the variable is initialised with zero.