Sorry I forgot to attach the code, Please find the below code.
#if RAM_DISK_APP
USB_mem_copy(g_disk.storage_disk + lba_data_ptr->offset, lba_data_ptr->buff_ptr, lba_data_ptr->size);
#elif SD_APP //ALL
sdcard_handle->LOCATION = (lba_data_ptr->offset >> 9); //
read(sdcard_handle, u8gvlba_data_buff, SD_Block_Size);
USB_mem_copy(u8gvlba_data_buff + (lba_data_ptr->offset%(uint_32)512), lba_data_ptr->buff_ptr, lba_data_ptr->size);
#endif
break;
case USB_MSC_DEVICE_WRITE_REQUEST:
/* copy data from USb buffer to Storage device
(Called before after recv_data on BULK OUT endpoints)*/
lba_data_ptr = (PTR_LBA_APP_STRUCT) val;
/* read data from driver buffer to mass storage device */
#if RAM_DISK_APP
USB_mem_copy(lba_data_ptr->buff_ptr, g_disk.storage_disk + lba_data_ptr->offset,lba_data_ptr->size);
#elif SD_APP //ALL
USB_mem_copy(lba_data_ptr->buff_ptr,
u8gvlba_data_buff+ (lba_data_ptr->offset%(uint_32)512), //
lba_data_ptr->size);
if (3 == u8gvIndex++)
{
sdcard_handle->LOCATION = (lba_data_ptr->offset >> 9);
write(sdcard_handle, u8gvlba_data_buff, SD_Block_Size);
u8gvIndex = 0;
}
#endif