Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
    1.
    发明授权
    Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture 有权
    在具有分叉存储架构的对称阻挡的非易失性存储器中执行可靠更新的方法

    公开(公告)号:US07174416B2

    公开(公告)日:2007-02-06

    申请号:US10654559

    申请日:2003-09-02

    IPC分类号: G06F13/00

    摘要: Methods of allocating, writing, reading, de-allocating, re-allocating, and reclaiming space within a nonvolatile memory having a bifurcated storage architecture are described. A method of reliably re-allocating a first object includes the step of storing a location of a first object in a first data structure. A location of the first data structure is stored in a second data structure. A duplicate of the first object is formed by initiating a copy of the first object. An erase of the first object is initiated. A write of a second object to the location of the first object is then initiated. The duplicate object is invalidated. The status of copying, erasing, and writing is tracked. The copy status, erase status, write status, and a restoration status are used to determine a recovery state upon initialization of the nonvolatile memory. The duplicate object is invalidated, if the writing status indicates that the writing of the second object has been completed. The first object is erased, if a restoration status indicates copying of the duplicate object was initiated but not completed. The erasing of the first object is completed, if the erase status indicates that erasure of the first object is not completed. A restoration of the duplicate object to the location of the first object is initiated, if the copying status indicates that copying of the first object was completed. The copying of the duplicate object is tracked as a restoration status.

    摘要翻译: 描述在具有分叉存储架构的非易失性存储器内分配,写入,读取,分配,重新分配和回收空间的方法。 可靠地重新分配第一对象的方法包括将第一对象的位置存储在第一数据结构中的步骤。 第一数据结构的位置被存储在第二数据结构中。 通过启动第一个对象的副本来形成第一个对象的副本。 启动第一个对象的擦除。 然后启动对第一对象的位置的第二对象的写入。 重复的对象无效。 跟踪复制,删除和写入的状态。 复制状态,擦除状态,写入状态和恢复状态用于在初始化非易失性存储器时确定恢复状态。 如果写入状态指示第二个对象的写入已经完成,则重复的对象无效。 第一个对象被删除,如果恢复状态指示复制对象的复制被启动但未完成。 如果擦除状态指示第一个对象的擦除未完成,则完成第一个对象的擦除。 如果复制状态指示第一个对象的复制已经完成,那么将重新启动对象到第一个对象的位置的恢复。 复制对象的复制被跟踪为恢复状态。

    Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
    2.
    发明授权
    Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture 失效
    在具有分叉存储架构的对称阻挡的非易失性存储器中执行可靠更新的方法

    公开(公告)号:US06182188B2

    公开(公告)日:2001-01-30

    申请号:US08834930

    申请日:1997-04-06

    IPC分类号: G06F1202

    摘要: Methods of allocating, writing, reading, de-allocating, re-allocating, and reclaiming space within a nonvolatile memory having a bifurcated storage architecture are described. A method of reliably re-allocating a first object includes the step of storing a location of a first object in a first data structure. A location of the first data structure is stored in a second data structure. A duplicate of the first object is formed by initiating a copy of the first object. An erase of the first object is initiated. A write of a second object to the location of the first object is then initiated. The duplicate object is invalidated. The status of copying, erasing, and writing is tracked. The copy status, erase status, write status, and a restoration status are used to determine a recovery state upon initialization of the nonvolatile memory. The duplicate object is invalidated , if the writing status indicates that the writing of the second object has been completed. The first object is erased, if a restoration status indicates copying of the duplicate object was initiated but not completed. The erasing of the first object is completed, if the erase status indicates that erasure of the first object is not completed. A restoration of the duplicate object to the location of the first object is initiated, if the copying status indicates that copying of the first object was completed. The copying of the duplicate object is tracked as a restoration status.

    摘要翻译: 描述在具有分叉存储架构的非易失性存储器内分配,写入,读取,分配,重新分配和回收空间的方法。 可靠地重新分配第一对象的方法包括将第一对象的位置存储在第一数据结构中的步骤。 第一数据结构的位置被存储在第二数据结构中。 通过启动第一个对象的副本来形成第一个对象的副本。 启动第一个对象的擦除。 然后启动对第一对象的位置的第二对象的写入。 重复的对象无效。 跟踪复制,删除和写入的状态。 复制状态,擦除状态,写入状态和恢复状态用于在初始化非易失性存储器时确定恢复状态。 如果写入状态指示第二个对象的写入已经完成,则重复的对象无效。 第一个对象被删除,如果恢复状态指示复制对象的复制被启动但未完成。 如果擦除状态指示第一个对象的擦除未完成,则完成第一个对象的擦除。 如果复制状态指示第一个对象的复制已经完成,那么将重新启动对象到第一个对象的位置的恢复。 复制对象的复制被跟踪为恢复状态。

    Method and apparatus for providing improved diagnostic functions in a computer system
    4.
    发明授权
    Method and apparatus for providing improved diagnostic functions in a computer system 失效
    用于在计算机系统中提供改进的诊断功能的方法和装置

    公开(公告)号:US06449735B1

    公开(公告)日:2002-09-10

    申请号:US08672983

    申请日:1996-07-01

    IPC分类号: H02H305

    CPC分类号: G06F11/22

    摘要: A memory module including a flash EEPROM memory array designed to be joined to a memory bus of a computer, BIOS processes including system status test processes stored in the array, diagnostic processes stored in the array to provide data indicating malfunctions in the computer, accessing processes stored in the array for calling the system status test processes and the diagnostic processes even though the computer fails to boot, and communication processes stored in the array for transferring results produced by the system status test processes and the diagnostic processes for use in servicing the computer.

    摘要翻译: 一种存储器模块,包括被设计为连接到计算机的存储器总线的闪存EEPROM存储器阵列,包括存储在阵列中的系统状态测试过程的BIOS处理,存储在阵列中的诊断过程以提供指示计算机中的故障的数据,访问进程 存储在阵列中用于调用系统状态测试进程和诊断过程,即使计算机无法启动,以及存储在阵列中的通信过程用于传送由系统状态测试过程产生的结果和用于维护计算机的诊断过程 。

    Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
    5.
    发明授权
    Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture 有权
    在具有分叉存储架构的对称阻挡的非易失性存储器中执行可靠更新的方法

    公开(公告)号:US06412040B2

    公开(公告)日:2002-06-25

    申请号:US09489182

    申请日:2000-01-20

    IPC分类号: G06F1730

    摘要: Methods of allocating, writing, reading, de-allocating, re-allocating, and reclaiming space within a nonvolatile memory having a bifurcated storage architecture are described. In one embodiment, a method of reliably re-allocating a first object stored within a block erasable nonvolatile memory includes the step of allocating space for a second object. A write of the second object is initiated and the writing of the second object is tracked. In another embodiment, a method of re-allocating a first object stored within a block erasable nonvolatile memory includes the step of invalidating the first object, if the first object has an unreliable type of recovery level. Space is allocated for the second object. A write of the second object is initiated and the writing of the second object is tracked. In another embodiment, a method of reliably re-allocating a first object stored within the block erasable nonvolatile memory includes the step of allocating space for the second object. A write of the second object is initiated and the writing of the second object is tracked. The first object is invalidated after completion of writing the second object, if the first object has a reliable type of recovery. In one embodiment, the first object resides within a first portion of nonvolatile memory and the instructions for performing the described methods reside in a second portion of nonvolatile memory. The first and second portions can reside within a same nonvolatile memory such as a symmetrically blocked flash electrically erasable programmable read only memory.

    摘要翻译: 描述在具有分叉存储架构的非易失性存储器内分配,写入,读取,分配,重新分配和回收空间的方法。 在一个实施例中,可靠地重新分配存储在块可擦除非易失性存储器中的第一对象的方法包括为第二对象分配空间的步骤。 启动第二个对象的写入,并跟踪第二个对象的写入。 在另一个实施例中,重新分配存储在块可擦除非易失性存储器中的第一对象的方法包括如果第一对象具有不可靠类型的恢复级别,则使第一对象无效的步骤。 为第二个对象分配空间。 启动第二个对象的写入,并跟踪第二个对象的写入。 在另一个实施例中,可靠地重新分配存储在块可擦除非易失性存储器内的第一对象的方法包括为第二对象分配空间的步骤。 启动第二个对象的写入,并跟踪第二个对象的写入。 如果第一个对象具有可靠的恢复类型,则第一个对象在完成写入第二个对象后无效。 在一个实施例中,第一对象位于非易失性存储器的第一部分内,并且用于执行所述方法的指令驻留在非易失性存储器的第二部分中。 第一和第二部分可以驻留在相同的非易失性存储器中,例如对称阻挡的闪存电可擦除可编程只读存储器。

    Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
    6.
    发明授权
    Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture 失效
    在具有分叉存储架构的对称阻挡的非易失性存储器中执行可靠更新的方法

    公开(公告)号:US06622200B1

    公开(公告)日:2003-09-16

    申请号:US09659025

    申请日:2000-09-06

    IPC分类号: G06F1200

    摘要: Methods of allocating, writing, reading, de-allocating, re-allocating, and reclaiming space within a nonvolatile memory having a bifurcated storage architecture are described. A method of reliably re-allocating a first object includes the step of storing a location of a first object in a first data structure. A location of the first data structure is stored in a second data structure. A duplicate of the first object is formed by initiating a copy of the first object. An erase of the first object is initiated. A write of a second object to the location of the first object is then initiated. The duplicate object is invalidated. The status of copying, erasing, and writing is tracked. The copy status, erase status, write status, and a restoration status are used to determine a recovery state upon initialization of the nonvolatile memory. The duplicate object is invalidated, if the writing status indicates that the writing of the second object has been completed. The first object is erased, if a restoration status indicates copying of the duplicate object was initiated but not completed. The erasing of the first object is completed, if the erase status indicates that erasure of the first object is not completed. A restoration of the duplicate object to the location of the first object is initiated, if the copying status indicates that copying of the first object was completed. The copying of the duplicate object is tracked as a restoration status.

    摘要翻译: 描述在具有分叉存储架构的非易失性存储器内分配,写入,读取,分配,重新分配和回收空间的方法。 可靠地重新分配第一对象的方法包括将第一对象的位置存储在第一数据结构中的步骤。 第一数据结构的位置被存储在第二数据结构中。 通过启动第一个对象的副本来形成第一个对象的副本。 启动第一个对象的擦除。 然后启动对第一对象的位置的第二对象的写入。 重复的对象无效。 跟踪复制,删除和写入的状态。 复制状态,擦除状态,写入状态和恢复状态用于在初始化非易失性存储器时确定恢复状态。 如果写入状态指示第二个对象的写入已经完成,则重复的对象无效。 第一个对象被删除,如果恢复状态指示复制对象的复制被启动但未完成。 如果擦除状态指示第一个对象的擦除未完成,则完成第一个对象的擦除。 如果复制状态指示第一个对象的复制已经完成,那么将重新启动对象到第一个对象的位置的恢复。 复制对象的复制被跟踪为恢复状态。

    Method of managing a symmetrically blocked nonvolatile memory having a
bifurcated storage architecture
    7.
    发明授权
    Method of managing a symmetrically blocked nonvolatile memory having a bifurcated storage architecture 失效
    管理具有分叉存储架构的对称封锁非易失性存储器的方法

    公开(公告)号:US5937434A

    公开(公告)日:1999-08-10

    申请号:US801781

    申请日:1997-02-14

    IPC分类号: G06F11/14 G06F12/02

    摘要: Methods of allocating, writing, reading, de-allocating, re-allocating, and reclaiming space within a nonvolatile memory having a bifurcated storage architecture are described. A method of storing an object within a managed object space of the nonvolatile memory includes the step of determining an object class for the object. Objects of a first class are stored contiguously proceeding from a first end towards a second end of the managed object space to form a first class of space. Objects of a second class are stored contiguously proceeding from the second end towards the first end of managed object space to form a second class of space. A header identifying the object is stored at a bottom of the first class of space. The object is stored at a selected one of the bottom of the first class of space and a bottom of the second class of space in accordance with the object class.

    摘要翻译: 描述在具有分叉存储架构的非易失性存储器内分配,写入,读取,分配,重新分配和回收空间的方法。 将对象存储在非易失性存储器的管理对象空间内的方法包括确定对象的对象类的步骤。 第一类的对象从被管理对象空间的第一端到第二端连续存储以形成第一类空间。 第二类的对象从被管理对象空间的第二端向第一端连续存储以形成第二类空间。 识别对象的标题存储在第一类空间的底部。 根据对象类,对象存储在第一类空间的底部的选定的一个和第二类空间的底部。

    Methods of reliably allocating, de-allocating, re-allocating, and reclaiming objects in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
    8.
    发明授权
    Methods of reliably allocating, de-allocating, re-allocating, and reclaiming objects in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture 失效
    在具有分叉存储架构的对称封锁非易失性存储器中可靠地分配,分配,重新分配和回收对象的方法

    公开(公告)号:US06311290B1

    公开(公告)日:2001-10-30

    申请号:US09055032

    申请日:1998-04-03

    IPC分类号: H02H305

    摘要: Methods of reliably allocating, writing, reading, de-allocating, re-allocating, and reclaiming space within a nonvolatile memory having a bifurcated storage architecture are described. Allocation, writing, reading, de-allocating, re-allocating, and reclamation are handled by a memory manager. The memory manager tracks the progress of each process during execution in order to detect whether a selected process was interrupted for purposes of recovery. The nonvolatile memory is recovered to a known state during initialization. Initialization includes the step of determining a recovery state from a recovery state lookup table. A selected recovery process is selected in accordance with the recovery state lookup table. A restart level for the selected process is determined from a corresponding restart state lookup table. The selected process is then restarted at the restart level. In one embodiment, a method of managing a nonvolatile memory includes the step of identifying an interrupted process from at least one of an allocation, a reclamation, a configuration header reclaim, and a re-allocation process initiated on the nonvolatile memory. A recovery process is selected for the interrupted process. An entry point into the recovery process is determined. The selected recovery process is then restarted at the entry point.

    摘要翻译: 描述了在具有分叉存储结构的非易失性存储器内可靠地分配,写入,读取,分配,重新分配和回收空间的方法。 分配,写入,读取,取消分配,重新分配和回收由内存管理员处理。 内存管理器在执行期间跟踪每个进程的进度,以便检测所选进程是否为了恢复目的而中断。 在初始化期间,非易失性存储器恢复到已知状态。 初始化包括从恢复状态查找表确定恢复状态的步骤。 根据恢复状态查找表选择选择的恢复过程。 从相应的重新启动状态查找表确定所选进程的重新启动级别。 然后在重新启动级别重新启动所选进程。 在一个实施例中,管理非易失性存储器的方法包括从在非易失性存储器上发起的分配,回收,配置报头回收和重新分配过程中的至少一个识别中断的进程的步骤。 为中断的进程选择恢复过程。 确定恢复过程的入口点。 然后在入口点重新启动所选的恢复过程。

    Method and apparatus for executing a program stored in nonvolatile memory
    9.
    发明授权
    Method and apparatus for executing a program stored in nonvolatile memory 失效
    用于执行存储在非易失性存储器中的程序的方法和装置

    公开(公告)号:US06243789B1

    公开(公告)日:2001-06-05

    申请号:US09028159

    申请日:1998-02-23

    IPC分类号: G06F1208

    摘要: A method of executing a program includes the step of initiating execution of the program stored contiguously without code fragmentation in a nonvolatile memory. Execution of the program is halted if the program attempts to modify a page of the nonvolatile memory. The page of nonvolatile memory is then copied to a modifiable memory. The page of nonvolatile memory is then remapped to the modifiable memory. Execution of the program is then resumed. A computer system for execution of a program includes a nonvolatile memory storing a program contiguously without code fragmentation. The computer system includes a processor for executing the program. A memory management unit generates an interrupt in response to a request to modify a page of the nonvolatile memory. Execution of the program is halted and the processor copies the page of nonvolatile memory to a modifiable memory in response to the interrupt. The processor resumes execution of the program after updating an address translation table of the memory management unit to refer to the modifiable memory for subsequent program access requests to the page of nonvolatile memory.

    摘要翻译: 执行程序的方法包括在非易失性存储器中开始执行连续存储的程序而没有代码碎片的步骤。 如果程序尝试修改非易失性存储器的页面,程序的执行将停止。 然后将非易失性存储器的页面复制到可修改的存储器。 然后将非易失性存储器的页面重新映射到可修改的存储器。 然后,程序的执行恢复。 用于执行程序的计算机系统包括非易失性存储器,其连续地存储程序而没有代码分段。 计算机系统包括用于执行程序的处理器。 存储器管理单元响应于修改非易失性存储器的页面的请求而产生中断。 停止执行程序,并且处理器将非易失性存储器的页面复制到可修改的存储器以响应中断。 在更新存储器管理单元的地址转换表之后,处理器恢复执行该程序,以引用可修改的存储器,以便随后的程序访问请求到非易失性存储器的页面。

    Method and apparatus to permit adjustable code/data boundary in a nonvolatile memory
    10.
    发明授权
    Method and apparatus to permit adjustable code/data boundary in a nonvolatile memory 失效
    允许在非易失性存储器中调整代码/数据边界的方法和装置

    公开(公告)号:US06401160B1

    公开(公告)日:2002-06-04

    申请号:US09282598

    申请日:1999-03-31

    IPC分类号: G06F1206

    摘要: A method of moving a boundary in a nonvolatile memory is disclosed. The method comprises identifying a boundary location in the nonvolatile memory. The boundary location comprises a position between a first block of a first type and a second block of a second type. The method also comprises allocating objects from a last block of the first type to a second block of the first type. Additionally, the method comprises erasing the last block of the first type.

    摘要翻译: 公开了一种在非易失性存储器中移动边界的方法。 该方法包括识别非易失性存储器中的边界位置。 边界位置包括第一类型的第一块和第二类型的第二块之间的位置。 该方法还包括将对象从第一类型的最后块分配到第一类型的第二块。 另外,该方法包括擦除第一类型的最后一个块。