IP Library Granted Patent US 8,176,009
Granted Patent B2
US 8,176,009 · App. 12/534,297 · Granted May 8, 2012

Performing a pre-update on a non volatile memory

Assignee: Red Bend Ltd.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,176,009
App. No.
12/534,297
Granted
May 8, 2012
Kind
B2
Abstract

A method of updating an original version of content to a new version of content, in a non-volatile memory storage device, the method includes: providing a non-volatile content memory storage area arranged to accommodate a full version of content; providing an auxiliary memory area; performing, while at least part of the content memory storage area is not being updated, at least one pre-update operation corresponding to at least one in-place update operation applicable, in an in-place update, on the part of the content memory storage area; storing, while at least part of the content memory storage area is not being updated, at least one result of the performed at least one pre-update operation, on the auxiliary memory area; and performing an in-place update of the at least part of the content memory storage area utilizing the at least one result stored on the auxiliary memory area.

Claims (30)

1. A method of updating an original version of content to a new version of content, in a non-volatile memory storage device, the method comprising:

providing a non-volatile content memory storage area arranged to accommodate a full version of content;

providing an auxiliary memory area;

performing, while at least part of the content memory storage area is not being updated, at least one pre-update operation corresponding to at least one in-place update operation applicable, in an in-place update, on part of the content memory storage area;

storing, while at least part of the content memory storage area is not being updated, at least one result of the performed at least one pre-update operation, on the auxiliary memory area; and

performing an in-place update of the at least part of the content memory storage area utilizing the at least one result stored on the auxiliary memory area.

2. The method of claim 1 , wherein the at least one pre-update operation comprises calculations required for the in-place update.

3. The method of claim 1 , wherein the at least one pre-update operation results in content required for later copying onto the content memory storage area.

4. The method of claim 1 , wherein the performing at least one pre-update operation or the storing at least one result are performed while the content memory storage area is being used.

5. The method of claim 4 , wherein the performing an in-place update of the at least part of the content memory storage area comprises at least one of (i) copying content stored on the auxiliary memory area onto the content memory storage area and (ii) utilizing calculations stored on the auxiliary memory area thereby reducing in-place update time.

6. The method of claim 4 , further comprising simultaneously performing an in-place update while the content memory storage area is being used; and performing a rendering process that includes provision of requested content from the content memory storage area.

7. The method of claim 6 , wherein the provision of content comprises generating the requested content utilizing at least part of the content stored on the auxiliary memory area, in case the requested content is not available on the content memory storage area.

8. A system for updating an original version of content to a new version of content, in a non-volatile memory storage device, the system comprising:

a non-volatile content memory storage area arranged to accommodate a full version of content;

an auxiliary memory area;

a pre-update module; and

an in-place update module,

wherein the pre-update module is arranged to: perform while at least part of the content memory storage area is not being updated, at least one pre-update operation,

wherein the at least one pre-update operation corresponds with at least one in-place update operation applicable on the content memory storage area; and store at least one result of the performed at least one pre-update operation, on the auxiliary memory area, and

wherein the in-place update module is arranged to perform an in-place update of the content memory storage area utilizing the at least one result stored on the auxiliary memory area.

9. The system of claim 8 , wherein the at least one pre-update operation comprises calculations required for the in-place update.

10. The system of claim 8 , wherein the at least one pre-update operation results in content required for later copying onto the content memory storage area.

11. The system of one of claims 8 , wherein the pre-update module performs the at least one pre-update operation or stores at least one result of the performed at least one pre-update operation while the content memory storage area is being used.

12. The system of claim 11 , wherein the in-place updating module is further arranged to at least one of(i) copy content stored on the auxiliary memory area onto the content memory storage area and (ii) utilize calculations stored on the auxiliary memory area thereby reducing in-place update time.

13. The system of claim 11 , further comprising a rendering module arranged to perform a rendering process while the in-place update occurs and while the content memory storage area is being used, wherein the rendering process comprises provision of requested content from the content memory storage area.

14. The system of claim 13 , wherein the rendering module is further arranged to generate the requested content utilizing at least part of the content stored on the auxiliary memory area, in case the requested content is not available on the content memory storage area.

15. A computer program product implemented on a machine readable storage device, tangibly embodying a program of instructions executable by the machine to perform method steps for updating original content stored in a non-volatile content memory storage area associated with a device to yield updated content, the method comprising:

performing, while at least part of the non-volatile content memory storage area is not being updated, at least one pre-update operation corresponding to at least one in-place update operation applicable, in an in-place update, on the at least part of the non-volatile content memory storage area arranged to accommodate a full version of content;

storing, while at least part of the non-volatile content memory storage area is not being updated, at least one result of the performed at least one pre-update operation, on an auxiliary memory area; and

performing an in-place update of the at least part of the non-volatile content memory storage area utilizing the at least one result stored on the auxiliary memory area.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Mar 4, 2015
From: MUSTANG MEZZANINE LP
To: RED BEND LTD.
Reel/Frame 035083/0471 →
SECURITY AGREEMENT Recorded Aug 22, 2012
From: RED BEND LTD.
To: MUSTANG MEZZANINE FUND LP
Reel/Frame 028831/0963 →
SECURITY AGREEMENT Recorded Sep 20, 2010
From: RED BEND LTD.
To: MUSTANG MEZZANINE FUND LP
Reel/Frame 025008/0297 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 3, 2009
From: MELLER, EVYATAR; PELEG, SHARON
To: RED BEND LTD.
Reel/Frame 023041/0379 →
Continuity (2)
Provisional Application 61085879 · Aug 4, 2008
Related Publication 20100030823A1 · Feb 4, 2010