Flash is a kind of memory that stores its contents even when the power is disconnected. It can be read, written and erased using a set of special codes via software.
In satellite receivers, this chip is used to store the program for the receiver, along with other user information like settings, satellite data and channels data.
This chip could be programmed by connecting the receiver to a PC. A small "loader" program is needed to carry out the read/write/erase operations. Generally, such loader programs are receiver specific.
Alternatively, there is another method of programming a flash chip - the JTAG way. This needs a special cable for connecting the receiver to your PC, and using a special program, like Jkeys, to access the flash (and other components in the receiver) directly.
Hope this gives a good start for you to build your knowledge.