Shared memory of SM

Problem.1 : What is the difference of L1 and shared memory ? The L1 cache caches the data from L2 cache .The data is for core to use . What is shared memory used for? Is shared memory shares data for all thread of block in same block?

https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#thread-hierarchy