Methods of operating a computing system including a host processing data of first size and a storage device processing data of second size and including a memory controller and a non-volatile memory
First Claim
1. A method of operating a memory controller in a storage device including a non-volatile memory (NVM), wherein the memory controller comprises a memory processor a buffer, and a buffer control circuit, the method comprising:
- using the memory processor to receive a block of data from a host, store the block of data in the buffer, and thereafter program the block of data in the NVM if the received block of data has a size at least as equal to a second size; and
using the memory processor to;
sequentially receive first data segments from the host, wherein each first date segment has a first size;
sequentially store the received first data segments in the buffer until a cumulative size of the received first data segments reaches the second size; and
then,program the sequentially stored first data segments in the NVM,wherein the first size corresponds to a unit size for data processed by the host and the second size is an integer multiple of the first size and corresponds to a unit size of data programmed in the NVM,the buffer control circuit determines the cumulative size of the received first data segments and generates storage information corresponding to the received first data segments, and provides the storage information to the memory processor, andthe memory processor generate a buffer indication signal in response to the storage information that causes the first data segments sequentially stored in the buffer to be programmed in the NVM when the cumulative size of the received first data segments reaches the second size.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of operating a memory controller is provided. The method of operating a memory controller according to an exemplary embodiment of the present inventive concepts includes sequentially receiving, by the memory controller, first data segments each having a first size from a host, sequentially storing, by the memory controller, the first data segments in the buffer until a sum of sizes of changed data among data stored in a buffer included in the memory controller is a second size, and programming, by the memory controller, the changed data having the second size in a memory space of a non-volatile memory as a second data segment.
-
Citations
15 Claims
-
1. A method of operating a memory controller in a storage device including a non-volatile memory (NVM), wherein the memory controller comprises a memory processor a buffer, and a buffer control circuit, the method comprising:
-
using the memory processor to receive a block of data from a host, store the block of data in the buffer, and thereafter program the block of data in the NVM if the received block of data has a size at least as equal to a second size; and using the memory processor to; sequentially receive first data segments from the host, wherein each first date segment has a first size; sequentially store the received first data segments in the buffer until a cumulative size of the received first data segments reaches the second size; and
then,program the sequentially stored first data segments in the NVM, wherein the first size corresponds to a unit size for data processed by the host and the second size is an integer multiple of the first size and corresponds to a unit size of data programmed in the NVM, the buffer control circuit determines the cumulative size of the received first data segments and generates storage information corresponding to the received first data segments, and provides the storage information to the memory processor, and the memory processor generate a buffer indication signal in response to the storage information that causes the first data segments sequentially stored in the buffer to be programmed in the NVM when the cumulative size of the received first data segments reaches the second size. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of operating a computing system including a host and a storage device including a memory controller including a buffer, and a non-volatile memory (NVM), the method comprising:
-
generating program data in the host to be programmed to the NVM; if the program data has a size at least equal to a second size, performing a data block output operation using a device driver provided by the host to transmit a data block of the program data to the storage device, and thereafter programming the data block in the NVM; if the program data has a size less than the second size, sequentially transmitting first data segments from the host to the storage device without use of the device driver, wherein each first data segment has a first size less than the second size, sequentially and temporarily storing the first data segments in the buffer until a cumulative size of the stored first data segments equals or exceeds the second size, and programming a second data segment having the second size and including the sequentially and temporarily stored the first data segments, wherein the first size corresponds to a processing unit for data received by the storage device from the host or data temporarily stored by the host before transmitting of the first data segments to the storage device, and the second size is a processing unit for data programmed in the non-volatile memory. - View Dependent Claims (9, 10)
-
-
11. A method of operating a computing system including a host and a storage device, wherein the storage device includes a memory controller, a buffer and a non-volatile memory (NVM), the method comprising:
-
generating program data in the host; if the size of the program data is equal to the second size, transmitting the program data from the host to the storage device as a block of data, storing the block of data in the buffer, and then programming the block of data in the NVM under the control of the memory controller; and if the size of the program data is less than the second size, sequentially transmitting the program data from the host to the storage device as a sequence of first data segments wherein each first data segment has a first size, and storing the first data segments in the buffer until a cumulative size of the stored first data segments equals or exceeds the second size and then programming the stored first data segments in the NVM under the control of the memory controller, wherein the first size corresponds to a unit size for processing data in the host, and the second size corresponds to a unit size for programming date in the NVM. - View Dependent Claims (12, 13, 14, 15)
-
Specification