IP Library Granted Patent US 7,386,653
Granted Patent B2
US 7,386,653 · App. 09/922,153 · Granted Jun 10, 2008

Flash memory arrangement

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,386,653
App. No.
09/922,153
Granted
Jun 10, 2008
Kind
B2
Abstract

A device, a method and a system for direct execution of code from a flash memory arrangement, in which a separate memory component is not required, even if a flash memory component is used which has a restriction on the size of a data block which can be read at one time. Furthermore, the flash memory arrangement is optionally implemented as a “single die” chip or device, which is more efficient for manufacturing and which also results in lower costs.

Claims (31)

1. A method for booting a system, the system featuring a processor executing boot code, the method comprising:

providing a flash-based unit in the system storing the boot code to be executed, said flash-based unit comprising a flash memory of a restricted type, being characterized in that code cannot be directly executed from said flash memory, and a volatile memory component, implemented as a single die chip with the flash memory, receiving a portion of the boot code to be executed, said portion of the boot code being for basic initialization of hardware of the system;

sending a busy signal to said processor;

transferring said portion of the boot code to said volatile memory component;

removing said busy signal; and

executing said portion of the boot code by said processor to boot the system.

2. The method of claim 1 , wherein said flash-based unit is separate from the processor.

3. The method of claim 1 , wherein said busy signal is sent in response to a power-on signal.

4. A method for booting a system, the system featuring a processor executing boot code, the method comprising:

providing a flash-based unit in the system storing the boot code to be executed, said flash-based unit comprising a flash memory of a restricted type, being characterized in that code cannot be directly executed from said flash memory, and a volatile memory component, implemented as a single die chip with the flash memory, receiving a portion of the boot code to be executed;

transferring a first portion of the boot code to said volatile memory component, said first portion of the boot code being for basic initialization of hardware of the system and containing a command for copying a second portion of the boot code; and

executing said first portion of the boot code by said processor to boot the system.

5. The method of claim 4 , further comprising the step of:

transferring said second portion of the boot code for booting the system.

6. A flash-based unit storing boot code to be executed by an external processor, comprising:

(a) a flash memory storing the boot code to be executed, said flash memory being of a type such that the boot code cannot be executed in place from said flash memory; and

(b) a volatile memory component, implemented as a single die chip with the flash memory, receiving at least a portion of the boot code to be executed, such that at least said portion of the boot code is executed by the external processor from said volatile memory component, said at least portion of the boot code being only sufficient for basic initialization of hardware of a system that includes the external processor, said volatile memory component being only large enough to store said at least portion of the boot code.

7. A system executing boot code from a restricted non-volatile memory, the restricted non-volatile memory being characterized in that code cannot be directly executed from the restricted non-volatile memory, the system comprising:

(a) a central processing unit (CPU) executing the boot code; and

(b) a volatile memory component, implemented as a single die chip with the flash memory, in direct communication with the restricted non-volatile memory for holding at least a portion of the boot code to be executed, said at least portion of the boot code being transferred from the restricted non-volatile memory, such that said CPU executes said at least portion of the boot code from said volatile memory component, said at least portion of the boot code being only sufficient for basic initialization of hardware of the system, said volatile memory component being only large enough to store said at least portion of the boot code.

8. A system executing boot code, comprising:

(a) a flash-based unit storing the boot code to be executed, said flash-based unit comprising a flash memory of a restricted type, being characterized in that the boot code cannot be directly executed from said flash memory, and a volatile memory component, implemented as a single die chip with the flash memory, receiving a portion of the boot code to be executed, said portion of the boot code being only sufficient for basic initialization of hardware of the system, said volatile memory component being only large enough to store said at least portion of the boot code; and

(b) a processor executing the boot code, said processor receiving at least said portion of the boot code from said volatile memory component;

wherein an additional memory component is not required for executing the boot code by said processor.

9. A flash-based unit storing boot code to be executed by an external processor, consisting essentially of:

(a) a flash memory storing the boot code to be executed, said flash memory being of a type such that the boot code cannot be executed in place from said flash memory, and

(b) a volatile memory component, implemented as a single die chip with the flash memory, receiving at least a portion of the boot code to be executed, such that at least said portion of the boot code is executed by the external processor from said volatile memory component, said at least portion of the boot code being only sufficient for basic initialization of hardware of a system that includes the external processor, said volatile memory component being only large enough to store said at least portion of the boot code.

10. A method for booting a system, the system featuring a processor executing boot code, the method comprising:

providing a flash-based unit in the system storing the boot code to be executed, said flash-based unit comprising a flash memory of a restricted type, being characterized in that code cannot be directly executed from said flash memory, and a volatile memory component, implemented as a single die chip with the flash memory, receiving a portion of the boot code to be executed;

transferring a first portion of the boot code to said volatile memory component, using a logic separate from the processor, said first portion of the boot code being sufficient for basic initialization of the system and containing a command for copying a second portion of the boot code; and

executing said first portion of the boot code by said processor to boot the system.

Assignments (1)
CHANGE OF NAME Recorded Aug 21, 2020
From: SANDISK IL LTD
To: WESTERN DIGITAL ISRAEL LTD
Reel/Frame 053574/0513 →