CN101258460A - 提供虚拟闪存装置的方法和设备 - Google Patents

提供虚拟闪存装置的方法和设备 Download PDF

Info

Publication number
CN101258460A
CN101258460A CNA200680032600XA CN200680032600A CN101258460A CN 101258460 A CN101258460 A CN 101258460A CN A200680032600X A CNA200680032600X A CN A200680032600XA CN 200680032600 A CN200680032600 A CN 200680032600A CN 101258460 A CN101258460 A CN 101258460A
Authority
CN
China
Prior art keywords
flash
configuration
flash configuration
array
reconfigurable
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.)
Granted
Application number
CNA200680032600XA
Other languages
English (en)
Other versions
CN101258460B (zh
Inventor
J·吕德里克
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.)
Intel Corp
Original Assignee
Intel Corp
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
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN101258460A publication Critical patent/CN101258460A/zh
Application granted granted Critical
Publication of CN101258460B publication Critical patent/CN101258460B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种向主机提供虚拟闪存装置的闪速存储器系统。所述系统包括主控制器和闪存装置。主控制器(例如处理器)经由闪存接口耦合到闪存装置。闪存装置包括集成控制器、随机存取存储器(RAM)、只读存储器(ROM)和闪存阵列。集成控制器基于闪存阵列的物理资源向主控制器提供虚拟资源。集成控制器包括闪存配置标识符和闪存配置器。所述闪存配置标识符可以被配置为识别闪存阵列的第一闪存配置。例如,第一闪存配置可以是闪存阵列的物理闪存配置或默认闪存配置。闪存配置标识符还可以识别第二闪存配置。例如,第二闪存配置可以是逻辑闪存配置或替代的闪存配置。闪存配置可以被配置为将所述闪存阵列从所述第一闪存配置配置为所述第二闪存配置。

Description

提供虚拟闪存装置的方法和设备
技术领域
本发明通常涉及闪速存储器系统,并且更具体地涉及用于提供虚拟闪存装置的方法和设备。
背景技术
一般地说,闪速存储器非常适用于诸如蜂窝电话之类的无线电子装置,这是因为闪速存储器可以在无需电力的情况下保持数字信息。特别地,闪速存储器(例如闪速随机存取存储器(RAM))是以块为单元进行擦除或写入的非易失性存储器。在一个例子中,闪速存储器可以存储诸如处理器的基本输入/输出系统(BIOS)之类的控制代码。取代以字节级别擦除或写入的例如电可擦除可编程只读存储器(EEPROM),闪速存储器可以通过以块大小来擦除或写入以将BIOS更新或改变得更快。
附图说明
图1是根据本文所披露的方法和设备的实施例的、表示示例性闪速存储器系统的示意图。
图2是表示具有第一闪存配置的示例性闪存阵列的方框图。
图3是表示具有第二闪存配置的示例性闪存阵列的方框图。
图4是表示示例性虚拟闪存阵列的方框图。
图5是表示提供虚拟闪存装置的一种方式的流程图。
图6是表示可以用于实现图1的示例性闪速存储器系统的示例性处理器系统的方框图。
具体实施方式
概括地说,本文描述了用于提供虚拟闪存装置的方法和设备。本文所述的方法和设备并不局限于这一方面。
参见图1,示例性闪速存储器系统100可以包括主控制器110和闪存装置120。通常,可以将闪速存储器系统100实现在电子装置中(未示出)。例如,可以将闪速存储器系统100实现在台式计算机、网络服务器、膝上型计算机、手持计算机、平板型计算机、蜂窝电话(例如智能电话)、寻呼机、音频和/或视频播放器(例如MP3播放器或DVD播放机)、游戏装置、数码相机、导航装置(例如全球定位系统(GPS)装置)、医疗装置(例如心率监视器、血压监视器等)和/或其他适当的相对固定、移动和/或便携的电子装置中。
主控制器110(例如处理器)可以经由闪存接口130耦合到闪存装置120。通常,主控制器110可以被配置成经由闪存接口130与闪存装置120进行通信。例如,闪存接口130可以包括总线和/或主控制器110和闪存装置120之间的直接链路。
闪存装置120可以包括集成控制器140、随机存取存储器(RAM)150、只读存储器(ROM)160和闪存阵列170。可附加地或可替代地,闪存装置120可以包括其他易失性存储器和/或非易失性存储器。集成控制器140、RAM 150、ROM 160和/或闪存阵列170可以经由总线和/或直接链路相互耦合。
通常,集成控制器140可以基于闪存阵列170的物理资源向主控制器110提供虚拟资源。集成控制器140可以包括闪存配置标识符142和闪存配置器144。如以下所详细描述的,闪存配置标识符142可以用来识别闪存阵列170的第一闪存配置(例如图2中的闪存配置200)。例如,第一闪存配置可以是闪存阵列170的物理闪存配置或默认闪存配置。闪存配置标识符142还可以识别第二闪存配置(例如图3的闪存配置300)。例如,第二闪存配置可以是逻辑闪存配置或替代的闪存配置。
通常,闪存配置器144可以用来将闪存阵列170从第一闪存配置配置为第二闪存配置。尽管可以将闪存阵列170以物理方式配置为根据第一闪存配置来操作,但是也可以将闪存阵列170以逻辑方式配置为根据针对闪速存储器系统100的第二闪存配置来操作。在一个例子中,闪存配置器144可以将闪存阵列170从物理闪存配置配置为针对主控制器110的逻辑闪存配置。
RAM 150是可以以各种顺序(例如随机)访问(例如向其写入或从其读取)其中内容的存储装置。ROM 160可以是仅能从其读取内容的存储装置。例如,ROM 160可以存储固件。
如以下所详述的,集成控制器140可以将闪存阵列170的数据分区和/或代码分区重新配置为根据一个或多个闪存配置来操作。虽然可以将闪存阵列170配置为根据物理闪存配置来操作,但本文所述的方法和设备可以将闪存阵列170配置为根据针对主控制器110的逻辑闪存配置来操作。也就是说,在主控制器110看来,闪存阵列170是根据逻辑闪存配置来操作的。因此,闪存装置120可以适合于经由各种插槽(socket)与主控制器(例如主控制器110)进行交互。
虽然在图1中,各个部件被描绘为闪存装置120中的分离的块,但是也可以将这些块中的一些块所执行的功能集成到单个半导体电路中,或者使用两个或更多个分离的集成电路来实现。例如,尽管闪存配置标识符142和闪存配置器144被描绘为闪存装置120中的分离的块,但是也可以将闪存配置标识符142集成到闪存配置器144中,或者反之。本文所述的方法和设备并不局限于此。
在图2的例子中,可以将闪存阵列170配置为根据第一闪存配置200来操作。在一个例子中,第一闪存配置200可以包括多个256千字节(kB)的块,概括表示为210。所述多个256kB的块210中的每一个均包括多个1024字节的程序缓冲区,概况表示为220。第一闪存配置200可以包括操作约束(例如程序约束)。在一个例子中,第一闪存配置200可以包括两行写约束。虽然以上的例子描述了操作约束,但是第一闪存配置200也可以不包括程序约束。本文所述的方法和设备并不局限于此。
参见图3,例如,可以将闪存阵列170配置为根据第二闪存配置300来操作。在一个例子中,第二闪存配置300可以包括多个128kB的块,概括表示为310。所述多个128kB的块310中的每一个均包括多个64字节的程序缓冲区,概括表示为320。相比于所述第一闪存配置200,第二闪存配置300可以不包括操作限制。本文所述的方法和设备并不局限于此。
为了经由各种套接字提供向后兼容性和/或兼容性主控制器,集成控制器140可以针对闪速存储器系统100来虚拟化闪存阵列170。也就是说,可以将闪存阵列170初始配置为根据一种闪存配置来操作,但集成控制器140可以虚拟化闪存阵列170以使闪存阵列170在闪速存储器系统100看来仿佛将闪存阵列170配置为根据另一种闪存配置操作那样。在一个例子中,可以将闪存阵列170以物理方式配置为根据一种闪存配置来操作,但集成控制器140可以将闪存阵列170以逻辑方式重新配置为根据另一种闪存配置来操作。在另一个例子中,可以将闪存阵列170预先配置为根据默认的闪存配置来操作,但是集成控制器140可以将闪存阵列170配置为根据一个或多个替代的闪存配置来操作。
在图4的例子中,可以将闪存阵列170初始配置为根据第一闪存配置200(图2)来操作,但是集成控制器140可以将闪存阵列170配置为根据针对主控制器110的第二闪存配置300(图3)来操作。如上所述,与第一闪存配置200相关的一个块(例如物理块)可以模拟与第二闪存配置300相关的两个块(例如两个逻辑块)。在一个例子中,物理块410可以是256kB的块,可以将其配置为作为两个128kB的逻辑块来操作,通常表示为420和425。此外,与第一闪存配置200相关的一个程序缓冲区(例如物理程序缓冲区)可以模拟与第二闪存配置300相关的多个程序缓冲区(例如多个逻辑程序缓冲区)。在一个例子中,程序缓冲区430可以是1024字节的程序缓冲区,可以将其配置为作为16个64字节的程序缓冲区来操作,通常表示为440。因此,可以将闪存阵列170以物理方式配置为根据第一闪存配置200来操作,但是集成控制器140可以将闪存阵列170配置为提供与第二闪存配置300相关的虚拟资源。
为了执行程序操作(例如写操作),例如,集成控制器140可以从物理程序缓冲区430读取64字节的数据。尽管可以将物理程序缓冲区430以物理方式配置为包括1024个字节的数据,但是物理程序缓冲区430可以表现为针对主控制器110的逻辑程序缓冲区440。如上所述,多个逻辑程序缓冲区440中的每一个均可以存储64字节的数据。
初始时,物理程序缓冲区430可以为空(即不存在数据)。在一个例子中,在第一次执行程序操作期间集成控制器140可能检测不到任何的数据,这是因为物理程序缓冲区430可能没有存储任何数据。如上所述,第一闪存配置200可能与两行写约束相关。因此,集成控制器140可以将64个字节的新数据写入物理程序缓冲区430的两行扇区中。虽然上述例子描述了程序约束,但是本文所述的方法和设备也可以使用没有操作约束的闪存配置来实现。
集成控制器140可以更新闪存阵列170的物理/逻辑扇区信息。在一个例子中,物理/逻辑扇区信息可以包括闪存阵列170的物理层(PHY)地址。可附加地或可替代地,集成控制器140可以将物理/逻辑扇区信息存储在扇区表中,所述扇区表包括一个或多个扇区标识符以定位存储在物理程序缓冲区430中的数据。例如,扇区标识符可以是数字标识符、字母数字标识符和/或任何其他适当的标识符。
否则如果物理程序缓冲区430包括现有数据,则集成控制器140可以将数据从物理程序缓冲器430的两行扇区复制到RAM 150。集成控制器140可以将64字节的新数据添加到RAM 150中。例如,集成控制器140可以将从物理程序缓冲区430的两行扇区复制的数据与64字节的新数据连接。集成控制器140可以将RAM 150中的新数据配置为根据第一闪存配置200来操作。为了从物理程序缓冲区430中清空所有数据,集成控制器140可以使物理程序缓冲区430的两行扇区无效。因此,集成控制器140可以对应于程序操作来更新物理/逻辑扇区信息。
为了执行擦除操作,例如,集成控制器140可以将数据从第一物理块(例如物理块410)复制到第二物理块(例如物理块415)。在一个例子中,第一物理块410可以包括第一和第二逻辑块420和425的数据。为了擦除第一逻辑块420的数据,例如,集成控制器140可以将第二逻辑块425的数据复制到第二物理块415以保持第二逻辑块425的数据。为了清空第一物理块410,集成控制器140可以擦除第一物理块410的数据。因此,集成控制器140可以从第一物理块410擦除第一和第二逻辑块420和425的数据。集成控制器140可以将第二物理块415的数据(即第二物理块425的数据)复制回第一物理块410。因此,第一物理块410可以包括第二逻辑块425的数据但不包括第一逻辑块420的数据。从而,集成控制器140可以更新闪存阵列170的物理/逻辑扇区信息。
为了擦除第二逻辑块425的数据而不是第一逻辑块420的数据,例如,集成控制器140可以以相似的方式操作。具体而言,集成控制器140可以将第一逻辑块420的数据复制到第二物理块415,并擦除第一物理块410的数据。因此,集成控制器140可以从第一物理块410擦除第一和第二逻辑块420和425的数据。集成控制器140可以将第二物理块415的数据(即第一逻辑块420的数据)复制回第一物理块410。所以,第一物理块410可以包括第一逻辑块420的数据但不包括第二逻辑块425的数据。因此,集成控制器140可以更新闪存阵列170的物理/逻辑扇区信息。
虽然上述的例子描述了将闪存阵列170从物理闪存配置配置为逻辑闪存配置,但是集成控制器140也可以将闪存阵列170从默认的闪存配置配置为替代的闪存配置。同样,尽管图2、3和4示出了两种闪存配置,但是可以将闪存阵列170配置为根据额外的闪存配置来操作。此外,尽管以上的结合图2、3和4描述的例子示出了特定的闪存配置,但是可以将闪存阵列170配置为根据其他闪存配置来操作。例如,可以将闪存阵列170配置为根据具有其他适当的块大小、程序缓冲区大小和/或操作约束的闪存配置来操作。本文所述的方法和设备并不局限于此。
图5示出了其中可以虚拟图1的示例性闪存装置120的一种方式。可以将图5的示例性过程500实现为使用多种不同编程代码中的任何一种的机器可访问指令,所述多种不同的编程代码存储在诸如易失性或非易失性存储器或其他大容量存储装置(例如软盘、CD和DVD)之类的机器可访问介质的任何组合中。例如,所述机器可访问指令可以实现在机器可访问介质中,所述机器可访问介质例如是可编程门阵列、专用集成电路(ASIC)、可擦除可编程只读存储器(EPROM)、ROM、RAM、磁介质、光介质和/或任何其他适当类型的介质。
此外,虽然在图5中示出的动作是有特定的次序的,但是这些动作也可以以其他的时间顺序来执行。例如,图5中所示的动作可以以重复、串行和/或并行的方式执行。同样,仅仅结合图1、2、3和4的设备以及配置提供和描述了示例性过程500作为虚拟化闪存装置的一种方式的例子。
在图5的例子中,过程500开始于闪存装置120的集成控制器140(例如经由闪存配置标识符142)识别闪存阵列170的第一闪存配置(方框510)。在一个例子中,闪存阵列170可以根据第一闪存配置200(图2)来操作。如上所述,例如,第一闪存配置200可以是与256kB块大小、1024字节程序缓冲区大小以及两行写约束相关的物理闪存配置。
集成控制器140可以识别第二闪存配置(方框520)。第二闪存配置可以由用户选择。在一个例子中,响应于接收到与通用闪存接口(CFI)标识符相关的用户输入,集成控制器140可以识别第二闪存配置300(图3)。CFI标识符可以对应于并指示第二闪存配置300。如上所述,例如,第二闪存配置300可以是与128kB块大小以及64字节程序缓冲区大小相关的逻辑闪存配置。
因此,集成控制器140可以将闪存阵列170从第一闪存配置配置为第二闪存配置(方框530)。例如,集成控制器140可以重新配置闪存阵列170的数据分区和/或代码分区。虽然可以将闪存阵列170配置为根据物理闪存配置来操作,但是集成控制器140也可以将闪存阵列170配置为根据逻辑闪存配置来操作。因此,闪存阵列170可以经由闪存接口130向主控制器110提供逻辑闪存配置。本文中所述的方法和设备并不局限于此。
图6是用于实现本文中所述方法和设备的示例性处理器系统2000的方框图。处理器系统2000可以是台式计算机、膝上型计算机、手持计算机、平板型计算机、PDA、服务器、因特网工具和/或任何其他类型的计算装置。
图6中所示的处理器系统2000包括芯片组2010,而芯片组2010包括存储器控制器2012和输入/输出(I/O)控制器2014。芯片组2010可以提供存储器和I/O管理功能,以及可由处理器2020访问或使用的多个通用和/或专用的寄存器、定时器等。处理器2020可以使用一个或多个处理器、WLAN部件、WMAN部件、WWAN部件和/或其他适当的处理部件来实现。例如,处理器2020可以使用以下各项中的一项或多项来实现:
Figure A20068003260000121
技术、
Figure A20068003260000122
技术、
Figure A20068003260000123
CentrinoTM技术、
Figure A20068003260000124
XeonTM技术和/或
Figure A20068003260000125
技术。可替代地,可以使用其他处理技术来实现处理器2020。处理器2020可以包括高速缓存2020,其可以使用一级统一高速缓存(L1)、二级统一高速缓存(L2)、三级统一高速缓存(L3)和/或用于存储数据的任何其他适当的结构来实现。
存储器控制器2012可以执行如下功能:使处理器2020能够经由总线2040访问主存储器2030并与主存储器2030进行通信,所述主存储器2030包括易失性存储器2032和非易失性存储器2034。易失性存储器2032可以使用同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其他类型的随机存取存储器装置来实现。非易失性存储器2034可以使用闪速存储器、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)和/或任何其他期望类型的存储器装置来实现。
处理器系统2000还可以包括与总线2040相耦合的接口电路2050。接口电路2050可以使用任何类型的接口标准来实现,所述接口标准例如以太网接口、通用串行总线(USB)、第三代输入/输出接口(3GIO)接口和/或任何其他适当类型的接口。
一个或多个输入装置2060可以连接到接口电路2050。输入装置2060允许用户将数据和命令输入到处理器2020中。例如,输入装置2060可以使用键盘、鼠标、触摸显示器、跟踪板、跟踪球、isopoint和/或语音识别系统来实现。
一个或多个输出装置2070也可以连接到接口电路2050。例如,输出装置2070可以由显示装置(例如发光显示器(LED)、液晶显示器(LCD)、阴极射线管(CRT)显示器、打印机和/或扬声器)来实现。其中,接口电路2050可以包括图形驱动卡。
处理器系统2000还可以包括一个或多个大容量存储装置2080以存储软件和数据。这种大容量存储装置2080的例子包括软盘及驱动器、硬盘驱动器、光盘及驱动器和数字多用途盘(DVD)及驱动器。
接口电路2050还可以包括通信装置,例如调制解调器或网络接口卡,以便于经由网络与外部计算机交换数据。处理器系统2000和网络之间的通信链路可以是任何类型的网络连接,例如以太网连接、数字用户线(DSL)、电话线、蜂窝电话系统和同轴电缆等。
对输入装置2060、输出装置2070、大容量存储装置2080和/或网络的访问可以由I/O控制器2014控制。具体而言,I/O控制器2014可以执行如下功能:使处理器2020能够经由总线2040和接口电路2050与输入装置2060、输出装置2070、大容量存储装置2080和/或网络进行通信。
虽然在图6中将多个部件描绘为处理器系统2000中的分离的块,但是也可以将这些块中的一些块所执行的功能集成到单个半导体电路中,或者使用两个或更多个分离的集成电路来实现。例如,尽管将存储器控制器2012和I/O控制器2014描绘为芯片组2010中的分离的块,但是也可以将存储器控制器2012和I/O控制器2014集成在单个半导体电路中。
虽然在本文中描述了特定的示例性方法、设备和制造物品,但是本发明所涵盖的范围并不限制于此。相反,本发明涵盖了在表述上或在对等含义上落入所附权利要求范围内的所有方法、设备和制造物品。例如,尽管上面公开了其中包括在硬件上执行的软件或固件的示例性系统,但是应该注意,这种系统仅仅是说明性的,而不应将其视为限定性的。具体而言,可以预期的是,可以将任何或所有的所公开的硬件、软件和/或固件部件专门地以硬件实现、专门地以软件实现、专门地以固件实现或者以硬件、软件和/或固件的某些组合来实现。

Claims (18)

1、一种方法,包括:
识别与控制器集成的可重配置闪存阵列的第一闪存配置;
识别第二闪存配置;以及
将所述可重配置闪存阵列从所述第一闪存配置配置为所述第二闪存配置。
2、如权利要求1所述的方法,其中,识别所述第一闪存配置包括识别物理闪存配置,该物理闪存配置具有与所述第二闪存配置的一个或多个特征不同的一个或多个特征,并且其中,所述一个或多个特征包括下列各项中的至少一项:块大小、程序缓冲区大小或操作约束。
3、如权利要求1所述的方法,其中,识别所述第二闪存配置包括响应于接收到与通用闪存接口标识符相关的用户输入而识别逻辑闪存配置。
4、如权利要求1所述的方法,其中,识别所述第二闪存配置包括识别逻辑闪存配置,该逻辑闪存配置具有与所述第一闪存配置的一个或多个特征不同的一个或多个特征,并且其中,所述一个或多个特征包括下列各项中的至少一项:块大小、程序缓冲区大小或操作约束。
5、如权利要求1所述的方法,其中,配置所述可重配置闪存阵列包括将所述可重配置闪存阵列从物理闪存配置配置为逻辑闪存配置,以执行程序操作或擦除操作中的至少一种。
6、如权利要求1所述的方法,其中,配置所述可重配置闪存阵列包括将所述可重配置闪存阵列的数据分区或代码分区中的至少一种从所述第一闪存配置配置为所述第二闪存配置。
7、一种包括内容的制造物品,当所述内容被访问时,使机器执行下列动作:
识别与控制器集成的可重配置闪存阵列的第一闪存配置;
识别第二闪存配置;以及
将所述可重配置闪存阵列从所述第一闪存配置配置为所述第二闪存配置。
8、如权利要求7所述的制造物品,其中,当所述内容被访问时,使所述机器通过识别物理闪存配置来识别所述第一闪存配置,该物理闪存配置具有与所述第二闪存配置的一个或多个特征不同的一个或多个特征,并且其中,所述一个或多个特征包括下列各项中的至少一项:块大小、程序缓冲区大小或操作约束。
9、如权利要求7所述的制造物品,其中,当所述内容被访问时,使所述机器响应于接收到与通用闪存接口标识符相关的用户输入而通过识别逻辑闪存配置来识别所述第二闪存配置。
10、如权利要求7所述的制造物品,其中,当所述内容被访问时,使所述机器通过识别逻辑闪存配置来识别所述第二闪存配置,该逻辑闪存配置具有与所述第一闪存配置的一个或多个特征不同的一个或多个特征,并且其中,所述一个或多个特征包括下列各项中的至少一项:块大小、程序缓冲区大小或操作约束。
11、如权利要求7所述的制造物品,其中,当所述内容被访问时,使所述机器通过将所述可重配置闪存阵列从物理闪存配置配置为逻辑闪存配置来配置所述可重配置闪存阵列,以执行程序操作或擦除操作中的至少一种。
12、如权利要求7所述的制造物品,其中,当所述内容被访问时,使所述机器通过将所述可重配置闪存阵列的数据分区或代码分区中的至少一种从所述第一闪存配置配置为所述第二闪存配置,来配置所述可重配置闪存阵列。
13、一种设备,包括:
被配置为第一闪存配置的可重配置闪存阵列;以及
与所述可重配置闪存阵列集成的控制器,用于识别第二闪存配置,并且用于将所述可重配置闪存阵列从所述第一闪存配置配置为所述第二闪存配置。
14、如权利要求13所述的设备,其中,所述第一闪存配置包括物理闪存配置,该物理闪存配置具有与所述第二闪存配置的一个或多个特征不同的一个或多个特征,并且其中,所述一个或多个特征包括下列各项中的至少一项:块大小、程序缓冲区大小或操作约束。
15、如权利要求13所述的设备,其中,所述第二闪存配置包括逻辑闪存配置,该逻辑闪存配置具有与所述第一闪存配置的一个或多个特征不同的一个或多个特征,并且其中,所述一个或多个特征包括下列各项中的至少一项:块大小、程序缓冲区大小或操作约束。
16、如权利要求13所述的设备,其中,所述控制器被配置为响应于与通用闪存接口标识符相关的用户输入来识别所述第二闪存配置。
17、如权利要求13所述的设备,其中,所述控制器被配置为将所述可重配置闪存阵列从物理闪存配置配置为逻辑闪存配置,以执行程序操作或擦除操作中的至少一种。
18、如权利要求13所述的设备,其中,所述控制器被配置为将所述可重配置闪存阵列的数据分区或代码分区中的至少一种从所述第一闪存配置配置为所述第二闪存配置。
CN200680032600XA 2005-09-09 2006-08-03 提供虚拟闪存装置的方法和设备 Expired - Fee Related CN101258460B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/223,156 US20070061499A1 (en) 2005-09-09 2005-09-09 Methods and apparatus for providing a virtual flash device
US11/223,156 2005-09-09
PCT/US2006/030520 WO2007032830A2 (en) 2005-09-09 2006-08-03 Methods and apparatus for providing a virtual flash device

Publications (2)

Publication Number Publication Date
CN101258460A true CN101258460A (zh) 2008-09-03
CN101258460B CN101258460B (zh) 2012-08-29

Family

ID=37395944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200680032600XA Expired - Fee Related CN101258460B (zh) 2005-09-09 2006-08-03 提供虚拟闪存装置的方法和设备

Country Status (3)

Country Link
US (1) US20070061499A1 (zh)
CN (1) CN101258460B (zh)
WO (1) WO2007032830A2 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102723099A (zh) * 2011-03-28 2012-10-10 西部数据技术公司 包括用于处理多命令描述符块以便利用并发性的主机接口的闪存装置
WO2020082457A1 (zh) * 2018-10-24 2020-04-30 江苏华存电子科技有限公司 闪存主控装置配置状态指令轮询可调变定时器的方法
CN113032290A (zh) * 2021-03-19 2021-06-25 维沃移动通信有限公司 闪存配置方法、装置、电子设备和存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2890200A1 (fr) * 2005-08-25 2007-03-02 St Microelectronics Sa Procede de configuration d'un espace memoire divise en zones memoire
US8176233B1 (en) * 2008-07-17 2012-05-08 Virident Systems Inc. Using non-volatile memory resources to enable a virtual buffer pool for a database application

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332797A (ja) * 1993-05-27 1994-12-02 Nec Corp 半導体メモリ装置
US5815434A (en) * 1995-09-29 1998-09-29 Intel Corporation Multiple writes per a single erase for a nonvolatile memory
JP3891539B2 (ja) * 2000-06-15 2007-03-14 シャープ株式会社 半導体装置およびその制御装置
US6809964B2 (en) * 2001-08-30 2004-10-26 Micron Technology, Inc. Nonvolatile semiconductor memory device capable of transferring data internally without using an external bus
JP3892851B2 (ja) * 2004-02-04 2007-03-14 株式会社東芝 メモリカード及び半導体装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102723099A (zh) * 2011-03-28 2012-10-10 西部数据技术公司 包括用于处理多命令描述符块以便利用并发性的主机接口的闪存装置
CN102723099B (zh) * 2011-03-28 2017-03-01 西部数据技术公司 包括用于处理多命令描述符块以便利用并发性的主机接口的闪存装置
WO2020082457A1 (zh) * 2018-10-24 2020-04-30 江苏华存电子科技有限公司 闪存主控装置配置状态指令轮询可调变定时器的方法
CN113032290A (zh) * 2021-03-19 2021-06-25 维沃移动通信有限公司 闪存配置方法、装置、电子设备和存储介质
WO2022194068A1 (zh) * 2021-03-19 2022-09-22 维沃移动通信有限公司 闪存配置方法、装置、电子设备和存储介质
CN113032290B (zh) * 2021-03-19 2024-01-19 维沃移动通信有限公司 闪存配置方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN101258460B (zh) 2012-08-29
US20070061499A1 (en) 2007-03-15
WO2007032830A3 (en) 2007-06-07
WO2007032830A2 (en) 2007-03-22

Similar Documents

Publication Publication Date Title
US10564859B2 (en) Composite solid state drive identification and optimization technologies
CN101154190B (zh) 映射信息管理设备和方法
CN100487632C (zh) 双媒体存储装置
US8645749B2 (en) Systems and methods for storing and recovering controller data in non-volatile memory devices
US9286243B2 (en) Logical-to-physical address translation for a removable data storage device
US8671330B2 (en) Storage device, electronic device, and data error correction method
CN110390979B (zh) 存储器控制器和具有存储器控制器的存储器系统
US8296466B2 (en) System, controller, and method thereof for transmitting data stream
CN103635968A (zh) 包含存储器系统控制器的设备和相关方法
CN109144899B (zh) 用于管理表恢复的方法
CN106372011B (zh) 用于pcie ssd控制器的高性能主机队列监控器
US20200356491A1 (en) Data storage device and method for loading logical-to-physical mapping table thereof
CN101258460B (zh) 提供虚拟闪存装置的方法和设备
TW201944421A (zh) 平均磨損方法、記憶體控制電路單元與記憶體儲存裝置
CN114077389A (zh) 控制器、存储器系统以及数据处理系统
US20190340060A1 (en) Systems and methods for adaptive proactive failure analysis for memories
US9652172B2 (en) Data storage device performing merging process on groups of memory blocks and operation method thereof
CN102543184A (zh) 存储器储存装置、其存储器控制器与数据写入方法
CN108369555B (zh) 存储器装置中的逻辑地址历史管理
CN102467460B (zh) 资料管理方法、存储器控制器与存储器储存装置
EP3929759A1 (en) Storage system with capacity scalability and method of operating the same
US20120324205A1 (en) Memory management table processing method, memory controller, and memory storage apparatus
CN109643295B (zh) 从发起者节点访问耦合到目标节点的存储器
CN106920572B (zh) 存储器管理方法、存储器控制电路单元及存储器储存装置
JP5694212B2 (ja) 管理情報生成方法およびメモリシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120829

Termination date: 20130803