IP Library Granted Patent US 7,003,620
Granted Patent B2
US 7,003,620 · App. 10/303,793 · Granted Feb 21, 2006

Appliance, including a flash memory, that is robust under power failure

Assignee: M-Systems Flash Disk Pioneers 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 7,003,620
App. No.
10/303,793
Granted
Feb 21, 2006
Kind
B2
Abstract

An appliance that includes a host device and a memory unit with a primary memory, and a method of operating the appliance. According to one aspect of the appliance, the primary memory is nonvolatile and the memory unit also includes a volatile memory a power sensor and a controller. When the power sensor detects interruption of power to the memory unit, the controller copies data selectively from the volatile memory to the primary memory. Power for this copying is provided by a secondary power source such as a battery or a capacitor. According to another aspect of the appliance, the appliance includes primary and secondary power sources, and the memory unit also includes a charge pump whose functions include both boosting power from the primary source for the primary memory and charging the secondary source.

Claims (61)

1. A method of operating an appliance that includes a host device and a memory unit, the memory unit including a nonvolatile memory, the method comprising the steps of:

(a) providing a volatile cache memory for caching data prior to writing said data to the nonvolatile memory; and

(b) upon interruption of power to the memory unit, selectively writing at least a portion of said data of only one data class then cached in said volatile cache memory to the nonvolatile memory, said one data class being selected from the group consisting of system data and user data.

2. The method of claim 1 , wherein said one data class is user data.

3. The method of claim 1 , wherein said one data class is system data.

4. The method of claim 3 , wherein said at least portion of said system data includes file allocation data.

5. The method of claim 3 , wherein said at least portion of said system data includes a copy of a memory buffer that is used by the host device to accumulate user data.

6. The method of claim 3 , wherein said at least portion of said system data includes a description of a status of the host device.

7. The method of claim 3 , wherein said at least portion of said system data includes an identification of an interrupted operation.

8. A method of operating an appliance that includes a host device and a memory unit, the memory unit including a nonvolatile memory, the method comprising the steps of:

(a) providing a volatile cache memory for caching data prior to writing said data to the nonvolatile memory; and

(b) upon interruption of power to the memory unit, selectively writing only a portion of said data then cached in said volatile cache memory to the nonvolatile memory.

9. The method of claim 8 , wherein said portion of said data includes only user data.

10. The method of claim 8 , wherein said portion of said data includes only system data.

11. The method of claim 10 , wherein said system data include file allocation data.

12. The method of claim 10 , wherein said system data include a copy of a memory buffer that is used by the host device to accumulate user data.

13. The method of claim 10 , wherein said system data include a description of a status of the host device.

14. The method of claim 10 , wherein said system data include an identification of an interrupted operation.

15. A method of operating an appliance that includes a host device and a memory unit, the memory unit including a nonvolatile memory, the method comprising the steps of:

(a) providing a volatile memory for storing only system data; and

(b) only upon interruption of power to the memory unit, selectively writing at least a portion of said system data then stored in said volatile memory to the nonvolatile memory.

16. An appliance comprising:

(a) a memory unit including:

(i) a nonvolatile memory;

(ii) a volatile cache memory for caching data prior to writing said data to said nonvolatile memory;

(iii) a power sensor for receiving and detecting power supplied by a primary power source external to said memory unit, said power being for powering said memory unit; and

(iv) a controller for, upon receiving an indication from said power sensor of an interruption of said power, selectively writing at least a portion of said data of only one data class then cached in said volatile cache memory to said nonvolatile memory, said one data class being selected from the group consisting of system data and user data.

17. The appliance of claim 16 , wherein said one data class is system data.

18. An appliance comprising:

(a) a memory unit including:

(i) a nonvolatile memory;

(ii) a volatile cache memory for caching data prior to writing said data to said nonvolatile memory;

(iii) a power sensor for receiving and detecting power supplied by a primary power source external to said memory unit, said power being for powering said memory unit; and

(iv) a controller for, upon receiving an indication from said power sensor of an interruption of said power, selectively writing only a portion of said data then cached in said volatile cache memory to said nonvolatile memory.

19. An appliance comprising:

(a) a memory unit including:

(i) a nonvolatile memory;

(ii) a volatile memory for storing only system data;

(iii) a power sensor for receiving and detecting power supplied by a primary power source external to said memory unit, said power being for powering said memory unit; and

(iv) a controller for, only upon receiving an indication from said power sensor of an interruption of said power, selectively writing at least a portion of said system data then stored in said volatile memory to said nonvolatile memory.

20. A method of operating an appliance that includes a host device and a memory unit, the memory unit including a nonvolatile memory, the method comprising the steps of:

(a) providing a volatile memory for storing data; and

(b) upon interruption of power to the memory unit, writing to the nonvolatile memory at least a portion of said data of only one data class then stored in said volatile memory, said one data class being selected from the group consisting of system data and user data.

21. The method of claim 20 , wherein said one data class is system data.

22. The method of claim 21 , wherein said volatile memory is for storing only said system data.

23. A method of operating an appliance that includes a host device and a memory unit, the memory unit including a nonvolatile memory, the method comprising the steps of:

(a) providing a volatile memory for storing system data;

(b) only upon interruption of power to the memory unit, selectively writing at least a portion of said system data then stored in said volatile memory to the nonvolatile memory;

wherein said at least portion of said data includes file allocation data.

24. A method of operating an appliance that includes a host device and a memory unit, the memory unit including a nonvolatile memory, the method comprising the steps of:

(a) providing a volatile memory for storing system data;

(b) only upon interruption of power to the memory unit, selectively writing at least a portion of said system data then stored in said volatile memory to the nonvolatile memory;

wherein said at least portion of said data includes a copy of a memory buffer that is used by the host device to accumulate user data.

25. A method of operating an appliance that includes a host device and a memory unit, the memory unit including a nonvolatile memory, the method comprising the steps of:

(a) providing a volatile memory for storing system data;

(b) only upon interruption of power to the memory unit, selectively writing at least a portion of said system data then stored in said volatile memory to the nonvolatile memory;

wherein said at least portion of said data includes a description of a status of the host device.

26. A method of operating an appliance that includes a host device and a memory unit, the memory unit including a nonvolatile memory, the method comprising the steps of:

(a) providing a volatile memory for storing system data;

(b) only upon interruption of power to the memory unit, selectively writing at least a portion of said system data then stored in said volatile memory to the nonvolatile memory;

wherein said at least portion of said data includes an identification of an interrupted operation.

Assignments (4)
CHANGE OF NAME Recorded Aug 21, 2020
From: SANDISK IL LTD
To: WESTERN DIGITAL ISRAEL LTD
Reel/Frame 053574/0513 →
CHANGE OF NAME Recorded Nov 18, 2008
From: MSYSTEMS LTD
To: SANDISK IL LTD.
Reel/Frame 021849/0559 →
CHANGE OF NAME Recorded Nov 5, 2008
From: M-SYSTEMS FLASH DISK PIONEERS LTD.
To: MSYSTEMS LTD
Reel/Frame 021785/0638 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2002
From: AVRAHAM, MEIR; LASSER, MENAHEM
To: M-SYSTEMS FLASH DISK PIONEER LTD.
Reel/Frame 013546/0653 →
Continuity (1)
Related Publication 20040103238A1 · May 27, 2004