US20120317406A1 - Flash storage system and method for accessing a boot program - Google Patents

Flash storage system and method for accessing a boot program Download PDF

Info

Publication number
US20120317406A1
US20120317406A1 US13590123 US201213590123A US2012317406A1 US 20120317406 A1 US20120317406 A1 US 20120317406A1 US 13590123 US13590123 US 13590123 US 201213590123 A US201213590123 A US 201213590123A US 2012317406 A1 US2012317406 A1 US 2012317406A1
Authority
US
Grant status
Application
Patent type
Prior art keywords
flash
memory
storage
program
boot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13590123
Inventor
Mark Moshayedi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HGST Technologies Santa Ana Inc
Original Assignee
HGST Technologies Santa Ana Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Abstract

The subject technology relates to a flash storage system for accessing a boot program for a computing system, the flash storage system comprising a flash storage, a random access memory and a flash controller coupled to the flash storage and the random access memory, the flash controller configured to load the boot program from the flash storage into the random access memory. In certain aspects, the flash control is further configured to generate a ready signal indicating the boot program is accessible from the random access memory. Computing systems and methods are also provided.

Description

  • [0001]
    This application is a continuation of U.S. patent application Ser. No. 12/508,528, filed Jul. 23, 2009, and entitled “FLASH STORAGE SYSTEM AND METHOD FOR ACCESSING A BOOT PROGRAM,” the entirety of which is incorporated by reference herein.
  • BACKGROUND
  • [0002]
    The present invention generally relates to flash storage, and more particularly to a flash storage system and method for accessing a boot program of a computing system.
  • [0003]
    A typical computing system executes a boot program upon the occurrence of a system reset to initialize various devices in the computing system, such as hard drives, floppy drives, and compact disc (CD) drives. Such a boot program is sometimes referred to as a basis input/output system (BIOS). In addition to initializing the various devices in the computing system, the boot program may also perform diagnostic self-tests on the devices to determine whether the devices are operating properly. The computing system then loads one or more software programs, such as an operating system, from the storage devices into a main memory of the computing system and executes the software programs to control operation of the computing system.
  • [0004]
    In many computing systems, the boot program is stored in a non-volatile memory, such as a read-only-memory (ROM), an erasable read-only-memory (EPROM), or an electrically erasable read-only-memory (EEPROM). Because the memory access time of the non-volatile memory is relatively slow, some computing systems load the boot program from the nonvolatile memory into a main memory having a faster memory access time. The computing system then executes the boot program from the main memory. Loading the boot program from the nonvolatile memory into the main memory, however, consumes processing time and resources in the computing system. Moreover, the boot program consumes memory locations in the main memory, which would otherwise be available for software programs.
  • [0005]
    In light of the above, a need exists for an improved system and method for accessing a boot program.
  • SUMMARY
  • [0006]
    In certain implementations the subject technology relates to a flash storage system for accessing a boot program for a computing system, the flash storage system comprising a flash storage, a random access memory and a flash controller coupled to the flash storage and the random access memory, the flash controller configured to load the boot program from the flash storage into the random access memory. In certain aspects, the flash control is further configured to generate a ready signal indicating the boot program is accessible from the random access memory.
  • [0007]
    In another implementation, the subject technology relates to a computing system, comprising a processor, a data memory coupled to the processor and a flash storage device coupled to the processor, the flash storage device comprising, a flash storage, a random access memory and a flash controller coupled to the flash storage and the random access memory, the flash controller configured to load a boot program from the flash storage into the random access memory. In certain aspects, the flash controller is further configured to generate a ready signal indicating the boot program is accessible from the random access memory.
  • [0008]
    In yet another implementation, the subject technology relates to a method of accessing a boot program in a computing system comprising a flash storage device, the method comprising, receiving a start signal, loading the boot program from a flash storage of the flash storage device to a random access memory of the flash storage device based on the start signal and generating a ready signal indicating the boot program is accessible in the random access memory.
  • BRIEF DESCRIPTION OF DRAWINGS
  • [0009]
    The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention, and together with the description, serve to explain the principles of the invention. In the drawings,
  • [0010]
    FIG. 1 is a block diagram of a computing system including a flash storage device, in accordance with an embodiment of the present invention; and
  • [0011]
    FIG. 2 is a flow chart of a method of accessing a boot program of a computing system, in accordance with an embodiment of the present invention.
  • DESCRIPTION
  • [0012]
    In various embodiments, a flash storage device stores a boot program in flash storage and loads the boot program into a random access memory of the flash storage device based on a start signal. Additionally, the flash storage device generates a ready signal indicating the boot program is accessible from the random access memory.
  • [0013]
    FIG. 1 illustrates a computing system 100, in accordance with an embodiment of the present invention. The computing system 100 may be any computing or electronic device, such as a computer workstation, an embedded computing system, a network router, a portable computer, a personal digital assistant, a digital camera, a digital phone, or the like. The computing system 100 includes a flash storage device 105, a data memory 140, a communication bus 145, a system bus 150, a processor 155, and an input/output device 160. The flash storage device 105 and the processor 155 are coupled in communication with each other through the communication bus 145. Additionally, the flash storage device 105, the data memory 140, the processor 155, and the input/output device 160 are coupled in communication with each other through the system bus 150.
  • [0014]
    The data memory 140 may include be any memory, computing device, or system capable of storing data. For example, the data memory 140 may be a random access memory (RAM), a dynamic random access memory (DRAM), a static random access memory (SRAM), a synchronous dynamic random access memory (SDRAM), a flash storage, an erasable programmable read-only-memory (EPROM), an electrically erasable programmable read-only-memory (EEPROM), or the like. The processor 155 may include a microprocessor, a microcontroller, an embedded controller, a logic circuit, software, firmware, or any kind of processing device. The input/output device 160 may include any system or device for communicating data with the computing system 100. For example, the input/output device 160 may include a keyboard, a computer mouse, a video display, a hard drive, a floppy drive, a compact disc (CD) drive, a read only memory (CD-ROM) drive, a digital versatile disc (DVD) drive, or the like, or any combination thereof.
  • [0015]
    The flash storage device 105 includes a flash storage 110, a random access memory (RAM) 115, a flash controller 125, a bus interface 130, and a bus interface 135. The flash storage 110 and the random access memory 115 are coupled in communication with the flash controller 125. The bus interface 130 is coupled in communication with the random access memory 115, the flash controller 125, and the system bus 150. The bus interface 135 is coupled in communication with the flash controller 125 and the communication bus 145. In some embodiments, the bus interface 130 is optional. In these embodiments, the processor 115 is coupled to the random access memory 115 and the flash controller 125. In some embodiments, the bus interface 135 is optional. In one embodiment without the bus interface 135, the processor 135 is coupled to the flash controller 125. In another embodiment without the bus interface 135, the processor 155 communicates with the flash controller 125 through the bus interface 130. In other embodiments, the bus interface 130 or the bus interface 135, or both, are external of the flash storage device 105.
  • [0016]
    The flash storage 110 may be any type of flash storage, such as a flash storage system, a flash storage device, a flash storage array, or the like. The flash controller 125 may include a microprocessor, a microcontroller, an embedded controller, a logic circuit, software, firmware, or any kind of processing device. The random access memory 115 may be any type of memory, such as a dynamic random access memory (DRAM), a static random access memory (SRAM), a synchronous dynamic random access memory (SDRAM), or the like. In some embodiments, the random access memory 115 is a dual-port memory. The bus interface 130 may be any type of computer or communication interface, such as integrated drive electronics (IDE) interface. The bus interface 135 may be any type of computer or communication interface, such as a universal serial bus (UBS) interface, a serial peripheral interface (SPI), a multimedia card (MMC) interface, or a solid-state drive (SD) interface. In some embodiments, the flash storage device 105 has more than one flash storage 110. In some embodiments, the flash storage device 105 has more than one random access memory 115.
  • [0017]
    The flash storage device 105 also contains a boot program 120 for initializing the computing system 100. The boot program 120 may be a basic input output system (BIOS), an application level program, an operating system, or the like. As illustrated in FIG. 1, the flash storage 110 contains the boot program 120. In various embodiments, the flash controller 125 loads the boot program 120 from the flash storage 110 into the random access memory 115. In some embodiments, the flash controller 125 is directly coupled to both the flash storage 110 and the random access memory 115 and directly controls the flash storage 110 and the random access memory 115 without intervening components, such as an arbiter or a communication interface. In this way, the flash controller 125 transfers the boot program 120 from the flash storage device 105 to the random access memory 115 more quickly than a system that requires an arbiter or a separate communication interface for such a transfer. In some embodiments, the flash controller 125 performs a direct memory access to transfer the boot program 120 from the flash storage 110 to the random access memory 115.
  • [0018]
    The processor 155 accesses the boot program 120 from the random access memory 115 and executes the boot program 120. Because the memory access time of the random access memory 115 is generally faster than the random access time of the flash storage 110, the processor 155 accesses and executes the boot program 120 from the random access memory 115 more quickly than would occur in accessing and executing the boot program 120 from the flash storage 110. In this way, execution performance of the computing system 100 is improved.
  • [0019]
    In one embodiment, the flash controller 125 receives a start signal from the processor 155, and loads the boot program 120 from the flash storage 110 into the random access memory 115 in response to the start signal. For example, the start signal may be a hard system reset signal or a soft system reset signal of the computing system 100. In one embodiment, the flash controller 125 receives the start signal directly from the processor 155. In another embodiment, the flash controller 125 receives the start signal from the processor 155 through the bus interface 130. In still another embodiment, the flash controller 125 receives the start signal from the processor 155 through the bus interface 135. In other embodiments, the flash storage device 105 generates the start signal upon power-on of the flash storage device 105 or receives the start signal from a device external of the flash storage device 105 upon power-on of that device. In one embodiment, the device includes a capacitor that charges to a voltage level upon power-on of the computing system 100. In this embodiment, the device provides the start signal to the flash controller 125 when the voltage on the capacitor reaches a threshold voltage.
  • [0020]
    In a further embodiment, the flash controller 125 provides a ready signal to the processor 155 indicating the boot program 120 is accessible from the random access memory 115. In one embodiment, the flash controller 125 provides the ready signal directly to the processor 155. In another embodiment, the flash controller 125 provides the ready signal to the processor 155 through the bus interface 130. In still another embodiment, the flash controller 125 provides the ready signal to the processor 155 through the bus interface 135. In response to the ready signal received from the flash controller 125, the processor 155 accesses the boot program 120 from the random access memory 115 and executes the boot program 120.
  • [0021]
    In various embodiments, the flash controller 125 loads the boot program 120 from the random access memory 115 into the data memory 140 before providing the ready signal to the processor 155. In one embodiment, the flash controller 125 controls operation of the bus interface 130 to load the boot program 120 from the random access memory 115 through the bus interface 130 and the system bus 150 into the data memory 140. In this embodiment, the flash controller 125 provides control signals to the bus interface 130 for transferring the boot program 120 from the random access memory 115 to the data memory 140. In response to the control signals received from the flash controller 125, the bus interface 130 obtains access to the system bus 150 and transfers the boot program 120 from the random access memory 115 to the data memory 140.
  • [0022]
    In another embodiment, the flash controller 125 provides a control signal to the bus interface 130 for transferring the boot program 120 from the random access memory 115 to the data memory 140. In response to the control signal received from the flash controller 125, the bus interface 130 obtains access to the system bus 150 and performs a direct memory access to transfer the boot program 120 from the random access memory 115 to the data memory 140. Because the memory access time of the random access memory 115 is generally faster than the random access time of the flash storage 110, the bus interface 130 transfers the boot program 120 from the flash storage 110 to the data memory 140 more quickly than would occur in transferring the boot program 120 from the flash storage 110 to the data memory 140. In this way, execution performance of the computing system 100 is improved.
  • [0023]
    In some embodiments, the size of the boot program 120 is larger than the memory size of the random access memory 115. In this case, the flash controller 125 loads the boot program 120 into the data memory 140 by transferring a portion of the boot program 120 to the random access memory 115 and transferring the portion from the random access memory 115 to the data memory 140. The flash controller 125 repeats this process until the boot program 120 is contained in the data memory 140 and sends the ready signal to the processor 155 indicating the boot program 120 is accessible from the data memory 140.
  • [0024]
    In various embodiments, the flash storage device 105 includes an integrated circuit containing some or all of the components of the flash storage device 105. It is to be appreciated that including the components of the flash storage device 105 in an integrated circuit improves the performance of the flash storage device 105 in contrast to a flash storage device having discrete components because communication between the components of the flash storage device 105 is improved. For example, the flash controller 125 may more quickly transfer the boot program 120 from the flash storage 110 to the random access memory 115 because of higher data transfer rates in the integrated circuit. In one embodiment, the flash storage device 105 includes a package that is pin-compatible with a DOC-H3 flash storage device available from Hynix Semiconductor Inc. of Sunnyvale, Calif. In this embodiment, the flash storage device 105 includes the functionally of such a DOC-H3 flash storage device and may be used to replace the DOC-H3 flash storage device in various computing systems. In further embodiments, the flash storage device 105 includes additional functionality than that of the DOC-H3 flash storage device, as is describe more fully herein.
  • [0025]
    In one embodiment, the processor 155 controls programming of the flash storage device 105. In this embodiment, the processor 155 communicates with the flash controller 125 to store or modify the boot program 120 in the flash storage 110. In another embodiment, an external device, such as a programmer, may be coupled to the bus interface 135 for storing or modifying the boot program 120 in the flash storage 110. In still another embodiment, the boot program 120 may be initially stored in the flash storage 110 during manufacture of the flash storage device 105.
  • [0026]
    FIG. 2 illustrates a method 200 of accessing the boot program 120, in accordance with an embodiment of the present invention. In optional step 205, the boot program 120 is loaded into the flash storage 110. In one embodiment, the boot program 120 is loaded into flash storage 110 during manufacture of the flash storage device 105, for example by using a programmer to program the flash storage 110. In another embodiment, the processor 155 provides the boot program 120 to the flash controller 125, and the flash controller 125 stores the boot program 120 into the flash storage 110. The method 200 then proceeds to step 210.
  • [0027]
    In step 210, the flash controller 125 receives a start signal. In some embodiments, the flash controller 125 generates the start signal on power-up of the flash storage device 105. In other embodiments, the flash controller 125 receives the start signal from the processor 155 or from another device external of the flash storage device 105. The method 200 then proceeds to step 215.
  • [0028]
    In step 215, the flash controller 125 loads the boot program 120 from the flash storage 110 into the random access memory 115 based on the start signal. In some embodiments, the flash controller 125 loads the boot program 120 from the flash storage 110 into the random access memory 115 in response to the start signal. The method 200 then proceeds to step 220.
  • [0029]
    In optional step 220, the flash controller 125 loads the boot program 120 from the random access memory 115 into the data memory 140. In some embodiments, the flash controller 125 provides a control signal to the bus interface 130, and the bus interface 130 performs a direct memory access in response to the control signal to transfer the boot program 120 from the random access memory 115 to the data memory 140. The method 200 then proceeds to step 225.
  • [0030]
    In step 225, the flash controller 125 generates a ready signal indicating that the boot program 120 is accessible by the processor 155. In various embodiments, the flash controller 125 provides the ready signal to the processor 155 directly, though the bus interface 130, or through the bus interface 135. In one embodiment, the flash controller 125 generates the ready signal indicating the boot program 120 is accessible from the random access memory 115. In another embodiment, the flash controller 125 generates the ready signal indicating the boot program 120 is accessible from the data memory 140. The method 200 then proceeds to step 230.
  • [0031]
    In optional step 230, the processor 155 accesses the boot program 120, based on the ready signal received from the flash controller 125. Further, the processor 155 executes the boot program 120 to initialize the computing system 100. In one embodiment, the processor 155 accesses the boot program 120 from the random access memory 115 in response to the ready signal received from the flash controller 125. In another embodiment, the processor 155 accesses the boot program from the data memory 140 in response to the ready signal received from the flash controller 125. The method 200 then ends.
  • [0032]
    Although the invention has been described with reference to particular embodiments thereof, it will be apparent to one of ordinary skill in the art that modifications to the described embodiment may be made without departing from the spirit of the invention. Accordingly, the scope of the invention will be defined by the attached claims not by the above detailed description.

Claims (20)

  1. 1. A flash storage system for accessing a boot program for a computing system, the flash storage system comprising:
    a flash storage;
    a random access memory; and
    a flash controller coupled to the flash storage and the random access memory, the flash controller configured to load the boot program from the flash storage into the random access memory, and
    wherein the flash control is further configured to generate a ready signal indicating the boot program is accessible from the random access memory.
  2. 2. The flash storage system of claim 1, wherein the flash controller is further configured to load the boot program from the flash storage into the random access memory in response to a start signal.
  3. 3. The flash storage system of claim 2 further configured to generate the start signal upon a power-on of the flash storage system.
  4. 4. The flash storage system of claim 1 further comprising an integrated circuit comprising the flash storage, the random access memory, and the flash controller.
  5. 5. The flash storage system of claim 1, wherein the flash controller is further configured to load the boot program from the flash storage into the random access memory by performing a direct memory access.
  6. 6. The flash storage system of claim 1, wherein the flash controller is further configured to load the boot program from the random access memory to a data memory external of the flash storage system and to generate a ready signal indicating the boot program is accessible from the data memory.
  7. 7. The flash storage system of claim 6, wherein the flash controller is further configured to load the boot program from the random access memory to the data memory by performing a direct memory access.
  8. 8. The flash storage system of claim 6, wherein the boot program comprises a basic input-output system.
  9. 9. A computing system, comprising:
    a processor;
    a data memory coupled to the processor; and
    a flash storage device coupled to the processor, the flash storage device comprising
    a flash storage;
    a random access memory; and
    a flash controller coupled to the flash storage and the random access memory, the flash controller configured to load a boot program from the flash storage into the random access memory, and
    wherein the flash controller is further configured to generate a ready signal indicating the boot program is accessible from the random access memory.
  10. 10. The computing system of claim 9, wherein the flash controller is further configured to load the boot program from the flash storage into the random access memory in response to a start signal.
  11. 11. The computing system of claim 9, wherein the flash storage device is further configured to generate the start signal upon a power-on of the flash storage system.
  12. 12. The computing system of claim 9, wherein the processor is further configured to generate the start signal upon a power-on of the computing system.
  13. 13. The computing system of claim 9 further comprising an integrated circuit comprising the flash storage, the random access memory, and the flash controller.
  14. 14. The computing system of claim 9, wherein the flash controller is further configured to load the boot program from the flash storage into the random access memory by performing a direct memory access.
  15. 15. The computing system of claim 9, wherein the flash controller is further configured to load the boot program from the random access memory into the data memory.
  16. 16. The computing system of claim 15, wherein the processor is further configured to generate a ready signal indicating the boot program is accessible from the data memory.
  17. 17. The flash storage system of claim 9, wherein the boot program comprises a basic input-output system.
  18. 18. A method of accessing a boot program in a computing system comprising a flash storage device, the method comprising:
    receiving a start signal;
    loading the boot program from a flash storage of the flash storage device to a random access memory of the flash storage device based on the start signal; and
    generating a ready signal indicating the boot program is accessible in the random access memory.
  19. 19. The method of claim 18 further comprising loading the boot program into the flash storage.
  20. 20. The method of claim 18 further comprising loading the boot program into a data memory of the computing system.
US13590123 2009-07-23 2012-08-20 Flash storage system and method for accessing a boot program Abandoned US20120317406A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US12508528 US8275981B2 (en) 2009-07-23 2009-07-23 Flash storage system and method for accessing a boot program
US13590123 US20120317406A1 (en) 2009-07-23 2012-08-20 Flash storage system and method for accessing a boot program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13590123 US20120317406A1 (en) 2009-07-23 2012-08-20 Flash storage system and method for accessing a boot program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12508528 Continuation US8275981B2 (en) 2009-07-23 2009-07-23 Flash storage system and method for accessing a boot program

Publications (1)

Publication Number Publication Date
US20120317406A1 true true US20120317406A1 (en) 2012-12-13

Family

ID=43498291

Family Applications (2)

Application Number Title Priority Date Filing Date
US12508528 Active 2030-11-29 US8275981B2 (en) 2009-07-23 2009-07-23 Flash storage system and method for accessing a boot program
US13590123 Abandoned US20120317406A1 (en) 2009-07-23 2012-08-20 Flash storage system and method for accessing a boot program

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12508528 Active 2030-11-29 US8275981B2 (en) 2009-07-23 2009-07-23 Flash storage system and method for accessing a boot program

Country Status (1)

Country Link
US (2) US8275981B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2755142B1 (en) * 2013-01-09 2016-03-16 Sony Mobile Communications AB Data storage in a mobile device with embedded mass storage device
US9632702B2 (en) 2014-10-15 2017-04-25 International Business Machines Corporation Efficient initialization of a thinly provisioned storage array

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070288687A1 (en) * 2006-06-09 2007-12-13 Microsoft Corporation High speed nonvolatile memory device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6418506B1 (en) * 1996-12-31 2002-07-09 Intel Corporation Integrated circuit memory and method for transferring data using a volatile memory to buffer data for a nonvolatile memory array
US20040143696A1 (en) * 2003-01-21 2004-07-22 Francis Hsieh Data storage system for fast booting of computer
US20070300010A1 (en) * 2006-06-23 2007-12-27 Genesys Logic, Inc. Apparatus for fast accesses to flash memory

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070288687A1 (en) * 2006-06-09 2007-12-13 Microsoft Corporation High speed nonvolatile memory device
US7620784B2 (en) * 2006-06-09 2009-11-17 Microsoft Corporation High speed nonvolatile memory device using parallel writing among a plurality of interfaces

Also Published As

Publication number Publication date Type
US20110022829A1 (en) 2011-01-27 application
US8275981B2 (en) 2012-09-25 grant

Similar Documents

Publication Publication Date Title
US7676640B2 (en) Flash memory controller controlling various flash memory cells
US6851018B2 (en) Exchanging operation parameters between a data storage device and a controller
US20100110748A1 (en) Hybrid volatile and non-volatile memory device
US6601167B1 (en) Computer system initialization with boot program stored in sequential access memory, controlled by a boot loader to control and execute the boot program
US7296143B2 (en) Method and system for loading processor boot code from serial flash memory
US20100077194A1 (en) Turbo boot systems and methods
US20030050087A1 (en) Memory device in mobile phone
US20060075395A1 (en) Flash card system
US20060206702A1 (en) Operating system boot from external media
US7340566B2 (en) System and method for initializing a memory device from block oriented NAND flash
US20070088940A1 (en) Initialization of flash storage via an embedded controller
US20070113067A1 (en) Method and apparatus for booting a microprocessor system using boot code stored on a serial flash memory array having a random-access interface
US5951685A (en) Computer system with system ROM including serial-access PROM coupled to an auto-configuring memory controller and method of shadowing BIOS code from PROM
US20030233533A1 (en) Boot from cache
US7464259B2 (en) Microprocessor boot-up controller, nonvolatile memory controller, and information processing system
US20100169631A1 (en) Authentication for resume boot path
US6598157B1 (en) Dynamic boot block control by boot configuration determination and subsequent address modification
US20110055455A1 (en) Incremental garbage collection for non-volatile memories
US20040068644A1 (en) Booting from non-linear memory
US20040193864A1 (en) System and method for actively booting a computer system
US20050114613A1 (en) Multi-chip package type memory system
US20090216937A1 (en) Memory controller, memory system, and access control method of flash memory
US20060184717A1 (en) Integrated circuit capable of flash memory storage management
US20030028708A1 (en) Novel flash memory arrangement
US20100235617A1 (en) System recovery method and embedded system with automatic recovery function

Legal Events

Date Code Title Description
AS Assignment

Owner name: HGST TECHNOLOGIES SANTA ANA, INC., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:STEC, INC.;REEL/FRAME:036042/0390

Effective date: 20131105

AS Assignment

Owner name: STEC, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOSHAYEDI, MARK;REEL/FRAME:039512/0349

Effective date: 20091002