1. A method of in-place updating an original version of content to an updated version of content, wherein the original version of content is located in a paged memory part and a non-paged memory part of a core memory section of a non-volatile memory storage device and wherein (i) the non-paged memory part comprises an original update agent configured to perform read/write tasks and an original update library configured to wrap an update installer for performing the update task, (ii) the content of the non-paged memory part comprises procedures defining tasks configured to be used during an update process and during one or more normal mode processes unrelated to an update process, and the content of the non- paged memory part is configured to be loaded in its entirety from the non-volatile memory storage device to a volatile memory, and (iii) the non-volatile memory storage device is configured to be used in a normal mode of operation and in an update mode of operation, the method comprising: (i) when the non-volatile memory storage device is being used in the normal mode of operation: loading the content of the non-paged memory part into the volatile memory and invoking the content of the non-paged memory part; obtaining an update package required for in-place updating the original version of content to the updated version of content; obtaining a new update library; and storing the new update library in a second part of the non-volatile memory storage device; and (ii) when the non-volatile memory storage device is being used in the update mode of operation: providing an updated version of the content of the non-paged memory part in the volatile memory; and in-place updating the original version of content to the updated version of content, in the non-volatile memory storage device, using the obtained new update library and the update package.