| CPC G06F 3/0608 (2013.01) [G06F 3/064 (2013.01); G06F 3/0688 (2013.01); G06F 12/0246 (2013.01); G06F 16/1744 (2019.01); G06F 2212/7201 (2013.01)] | 20 Claims |

|
1. A data processing system, comprising:
a host including a host memory configured to store a plurality of file systems, wherein each file system includes a plurality of file pages; and
a plurality of storage devices, wherein each of the storage devices includes:
a memory device including a plurality of memory blocks; and
a memory controller configured to divide the plurality of memory blocks into a plurality of superblocks, and control a memory operation of the memory device based on a result of dividing the plurality of memory blocks,
wherein the host requests a first storage device of the plurality of storage devices to write a first file page of a first file system of the plurality of file systems to a first memory block of the first storage device, and
the host requests a second storage device of the plurality of storage devices to write a second file page of the first file system of the plurality of file systems to a first memory block of the second storage device,
wherein the first file system is configured in a Redundant Arrays of Inexpensive Disks (RAID) manner using at least some of the plurality of storage devices,
wherein the memory controller of the first storage device is configured to:
write a first compressed chunk generated by compressing a first chunk to a first superblock of the first storage device,
wherein the first chunk includes data which the host requests the first storage device to write,
wherein the first superblock of the first storage device is selected from among the plurality of superblocks of the first storage device, based on a first logical address of the first storage device received from the host, and
generate a position-related offset of the first compressed chunk in the first superblock of the first storage device.
|