IP Library Granted Patent US 7,203,828
Granted Patent B2
US 7,203,828 · App. 10/723,909 · Granted Apr 10, 2007

Use of NAND flash for hidden memory blocks to store an operating system program

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,203,828
App. No.
10/723,909
Granted
Apr 10, 2007
Kind
B2
Abstract

A memory device has a plurality of memory blocks utilized to store data. One of the blocks is used as a hidden memory block to store an operating system program, instead of data. The hidden memory block is designated as a bad block so that data will not be written into the hidden memory block, but a tag associated with the hidden memory block identifies that the hidden memory block contains the operating system program.

Claims (27)

1. A method comprising:

storing data in a data oriented storage medium;

storing an operating system program in the same storage medium as the data; and

protecting the operating system program from being overwritten when data is written to the storage medium, wherein protecting the operating system program includes identifying a portion of the storage medium as bad, hut using a tag to identify that the bad portion of the storage medium is good and used to store the operating system program.

2. The method of claim 1 , wherein the storing the data and operating system program are achieved on a NAND type flash memory device.

3. The method of claim 2 , wherein protecting the operating system program is achieved by using a hidden memory block in the NAND type flash memory device to store the operating system program.

4. The method of claim 2 , wherein protecting the operating system program includes identifying a hidden block as a bad memory block, but using a tag to identify that the bad memory block is a good block storing the operating system program.

5. A method comprising:

accessing a storage device to identify a portion of the storage area as a bad area for storing data;

determining if a specified tag identifying a presence of an operating system program is present; and

loading the operating system program stored in the portion of the storage area identified as bad if the tag is present.

6. The method of claim 5 , wherein loading the operating system program loads a boot routine which is used to boot a system.

7. The method of claim 6 , wherein accessing a storage device accesses an external memory device to an integrated circuit to boot the integrated circuit.

8. The method of claim 7 , wherein accessing a storage device accesses a NAND type flash memory device external to an integrated circuit to boot the integrated circuit.

9. A memory device comprising:

a plurality of memory blocks utilized to store data;

a hidden memory block used to store an operating system program instead of data, the hidden memory block designated as a bad block so that data will not be written into the hidden memory block; and

a tag associated with the hidden memory block to identify that the hidden memory block contains the operating system program.

10. The memory device of claim 9 , wherein the memory blocks, including the hidden memory block, are of NAND type flash memory.

11. The memory device of claim 10 , wherein the operating system program is a boot routine to boot a system.

12. The memory device of claim 10 , wherein the boot routine includes a boot manager and at least one other boot program.

13. A multi-function handheld device comprising:

a system on a chip integrated circuit that includes an internal memory and a processor;

a data oriented memory coupled external to the integrated circuit to operate as data storage medium for the integrated circuit, the data oriented memory including a hidden area to store an operating system program which boots the integrated circuit, wherein the operating system program is stored in the hidden area which is designated as a bad block, but a tag identifies the hidden area as a good block containing the operating system program.

14. The multi-function handheld device of claim 13 , wherein the data oriented memory is a NAND type flash memory.

15. The multi-function handheld device 13 wherein the operating system program includes a boot manager and at least one other boot program.

16. The multi-function handheld device 13 wherein the operating system program includes a boot manager, Universal Serial Bus (USE) firmware and at least one other boot program, wherein at boot up of the integrated circuit, the boot manager boots the USE firmware if a USB connection is present, otherwise the at least one other boot program is booted.