Accelerating programming of a flash memory module
First Claim
1. A method for accelerating programming of data, comprising:
- receiving multiple input data units that were sent from a host computer;
wherein the input data units comprise first and second input data units;
most significant bit (MSB) programming the first input data units to cache memory pages and MSB programming the second input data units to first level target memory pages; and
applying a copy back operation that comprises retrieving the first input data units from the cache memory pages and least significant bit (LSB) programming the retrieved first input data units to second level target memory pages;
wherein any target page out of the first level target memory pages and the second level target memory pages differs from a cache memory page;
wherein the MSB programming is faster than the LSB programming;
wherein the input data units further comprise third input data units;
wherein the method further comprises MSB programming the third input data units to additional cache memory pages;
wherein the applying of the copy back operation further comprises retrieving the third input data units from the additional cache memory pages and third level programming the third input data units to third level target memory pages; and
wherein the third level programming differs by speed from the MSB and LSB programming.
9 Assignments
0 Petitions
Accused Products
Abstract
According to an embodiment of the invention there is provided a method for accelerating programming of data, the method may include receiving multiple input data units that were sent from a host computer; wherein the input data units may include first and second input data units; first level programming the first input data units to cache memory pages and first level programming the second input data units to first level target memory pages; and applying a copy back operation that comprises retrieving the first input data units from the cache memory pages and second level programming the first input data units to second level target memory pages; wherein any target page out of the first level target pages and the second level target pages differs from a cache memory page; and wherein the first level programming is faster than the second level programming.
329 Citations
20 Claims
-
1. A method for accelerating programming of data, comprising:
-
receiving multiple input data units that were sent from a host computer;
wherein the input data units comprise first and second input data units;most significant bit (MSB) programming the first input data units to cache memory pages and MSB programming the second input data units to first level target memory pages; and applying a copy back operation that comprises retrieving the first input data units from the cache memory pages and least significant bit (LSB) programming the retrieved first input data units to second level target memory pages; wherein any target page out of the first level target memory pages and the second level target memory pages differs from a cache memory page; wherein the MSB programming is faster than the LSB programming; wherein the input data units further comprise third input data units; wherein the method further comprises MSB programming the third input data units to additional cache memory pages; wherein the applying of the copy back operation further comprises retrieving the third input data units from the additional cache memory pages and third level programming the third input data units to third level target memory pages; and wherein the third level programming differs by speed from the MSB and LSB programming. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for accelerating programming of data, comprising:
-
receiving multiple input data units by a memory controller and from a host computer; wherein the input data units comprises first and second input data units; instructing a programming circuit of a flash memory module to perform most significant bit (MSB) programming the first input data units to cache memory pages of the flash memory module and to perform MSB programming the second input data units to first level target memory pages of the flash memory module; and instructing a copy back circuit of the flash memory module to apply a copy back operation that comprises retrieving the first input data units from the cache memory pages and least significant bit (LSB) programming the retrieved first input data units to second level target memory pages; wherein any target page out of the first level target memory pages and the second level target memory pages differs from a cache memory page; wherein the MSB programming is faster than the LSB programming; wherein the input data units further comprise third input data units; wherein the method further comprises MSB programming the third input data units to additional cache memory pages; wherein the applying of the copy back operation further comprises retrieving the third input data units from the additional cache memory pages and third level programming the third input data units to third level target memory pages; and wherein the third level programming differs by speed from the MSB and LSB programming. - View Dependent Claims (14, 15, 16)
-
-
17. A non-transitory computer readable medium that stores instructions that once executed by a computer causes the computer to execute the stages of:
-
receiving multiple input data units that were sent from a host computer;
wherein the input data units comprises first and second input data units;most significant bit (MSB) programming the first input data units to cache memory MSB pages and MSB programming the second input data units to MSB target memory pages; and applying a copy back operation that comprises retrieving the first input data units from the cache memory MSB pages and least significant bit (LSB) programming the retrieved first input data units to LSB target memory pages; wherein any target page out of the MSB target memory pages and the LSB target memory pages differs from a cache memory MSB page; wherein the MSB programming is faster than the LSB programming; and wherein a ratio between an overall number of dies performing the caching and an overall size of dies performing the copy back operation is a fraction of a ratio between programming speeds of the MSB and the LSB programming.
-
-
18. A memory controller, comprising;
-
a control unit; and an interface; wherein the interface is arranged to receive multiple input data units from a host computer; wherein the input data units comprises first and second input data units;
wherein the control unit is arranged to;instruct a programming circuit of a flash memory module to perform most significant bit (MSB) programming the first input data units to cache memory pages of the flash memory module and to perform MSB programming of the second input data units to first level target memory pages of the flash memory module; and instruct a copy back circuit of the flash memory module to apply a copy back operation that comprises retrieving the first input data units from the cache memory pages and least significant bit (LSB) programming the retrieved first input data units to second level target memory pages; wherein any target page out of the first level target memory pages and the second level target memory pages differs from a cache memory page; wherein the MSB programming is faster than the LSB programming; and wherein a ratio between an overall number of dies performing the copy back operation and an overall number of dies caching exceeds one. - View Dependent Claims (19)
-
-
20. A flash memory module, comprising:
-
an interface; a copy back circuit; a programming circuit; and flash memory pages; wherein the interface is arranged to receive multiple input data units from a memory controller;
wherein the input data units comprise first and second input data units;wherein the programming circuit is arranged to perform most significant bit (MSB) programming the first input data units to cache memory pages of the flash memory module and to perform MSB programming of the second input data units to first level target memory pages of the flash memory module; and wherein the copy back circuit is arranged to apply a copy back operation that comprises retrieving the first input data units from the cache memory pages and least significant bit (LSB) programming the retrieved first input data units to second level target memory pages; wherein any target page out of the first level target memory pages and the second level target memory pages differs from a cache memory page; wherein the MSB programming is faster than the LSB programming; and wherein a ratio between an overall number of dies performing the copy back operation and an overall number of dies caching exceeds one.
-
Specification