In-Memory Data Fabric: What In-Memory Computing Should Be