CN102292711B - 固态存储器格式化 - Google Patents
固态存储器格式化 Download PDFInfo
- Publication number
- CN102292711B CN102292711B CN201080005159.2A CN201080005159A CN102292711B CN 102292711 B CN102292711 B CN 102292711B CN 201080005159 A CN201080005159 A CN 201080005159A CN 102292711 B CN102292711 B CN 102292711B
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- physical block
- physical
- file allocation
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
Abstract
本发明包含用于固态驱动器格式化的方法及装置。一个装置实施例包含耦合到若干存储器阵列的控制电路,其中每一存储器阵列具有多个存储单元物理块。通过所述控制电路格式化所述存储器阵列,所述控制电路经配置以:将系统数据写入到所述若干存储器阵列,其中所述系统数据在物理块边界处结束;及将用户数据写入到所述若干存储器阵列,其中所述用户数据在物理块边界处起始。
Description
技术领域
本发明大体来说涉及半导体存储器装置、方法及系统,且更特定来说涉及固态驱动器格式化。
背景技术
通常将存储器装置提供为计算机或其它电子装置中的内部半导体集成电路。存在包含易失性及非易失性存储器的许多不同类型存储器。易失性存储器可需要电力来维持其数据且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)以及其它存储器。非易失性存储器可通过在不被供电时仍保持所存储的信息而提供持久数据且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)及相变随机存取存储器(PCRAM)以及其它存储器。
可将存储器装置组合在一起以形成固态驱动器(SSD)。固态驱动器可包含非易失性存储器,例如,NAND快闪存储器及NOR快闪存储器,及/或可包含易失性存储器,例如,DRAM及SRAM,也包含各种其它类型的非易失性存储器及易失性存储器。
可使用SSD来替换硬盘驱动器作为计算机的主要存储装置,这是因为固态驱动器可在性能、大小、重量、耐用性、操作温度范围及功率消耗方面具有优于硬驱动器的优点。举例来说,SSD在与磁盘驱动器相比时因其缺少移动部件可具有优越性能,此缺少移动部件可改良与磁盘驱动器相关联的寻找时间、延时及其它机电延迟。SSD制造商可使用非易失性快闪存储器来形成可不使用内部电池供应的快闪SSD,因此允许所述驱动器更通用且更小型。
SSD可包含若干存储器装置,例如,若干存储器芯片(如本文中所使用,“若干”某物可指代此类事物中的一者或一者以上,例如,若干存储器装置可指代一个或一个以上存储器装置)。如所属领域的技术人员将了解,存储器芯片可包含若干裸片。每一裸片上可包含若干存储器阵列及外围电路。存储器阵列可包含组织成若干物理块的若干存储单元,且物理块可组织成若干页。
对于一些存储应用,SSD可用作硬(盘)驱动器的替换或补充。在这些实例中,将SSD置于经设计以适应硬驱动器的功能的环境中。由于SSD与硬驱动器之间的最小可擦除单元的粒度或量化的差异(例如,硬驱动器的512字节扇区对SSD中的128k或256k的块),因此在计算装置中用作硬驱动器的替换或补充的SSD可不以峰值性能水平操作。
附图说明
图1是可根据本发明的一个或一个以上实施例操作的电子存储器系统的功能框图。
图2图解说明根据本发明的一个或一个以上实施例的存储器阵列的一部分的图示。
图3图解说明根据本发明的一个或一个以上实施例的用于若干存储器阵列的文件系统的图示。
图4图解说明根据本发明的一个或一个以上实施例的具有在块边界处对准的用户数据的用于若干存储器阵列的文件系统的图示。
图5图解说明根据本发明的一个或一个以上实施例的具有在块边界处对准的文件分配表及用户数据的用于若干存储器阵列的文件系统的图示。
具体实施方式
本发明包含用于固态驱动器格式化的方法及装置。一个装置实施例包含耦合到若干存储器阵列的控制电路,其中每一存储器阵列具有多个存储单元物理块。可通过所述控制电路格式化所述存储器阵列,所述控制电路经配置以:将系统数据写入到所述若干存储器阵列,使得所述系统数据在物理块边界处结束;及将用户数据写入到所述若干存储器阵列,使得所述用户数据在物理块边界处起始。
在以下对本发明的详细说明中,参照形成本发明的一部分且其中以图解说明方式显示可如何实践本发明的一个或一个以上实施例的随附图式。充分详细地描述这些实施例以使所属领域的技术人员能够实践本发明的所述实施例,且应理解,可利用其它实施例且可在不背离本发明的范围的情况下作出工艺、电、及/或结构改变。如本文中所使用,标示符“N”、“M”、“R”及“S”(尤其是关于图式中的参考编号)指示本发明的一个或一个以上实施例可包含如此标示的若干特定特征。
本文中的图遵循如下编号惯例:第一个数字或前几个数字对应于图式图编号且剩余数字识别图式中的元件或组件。不同图之间的类似元件或组件可通过使用类似数字来识别。举例来说,130可指图1中的元件“30”,且在图2中可将类似元件称为230。如将了解,可添加、交换及/或消除本文中各种实施例中所示的元件以提供本发明的若干额外实施例。另外,如将了解,图中所提供的元件的比例及相对比例尺是打算图解说明本发明的实施例且不应视为具有限定意义。
图1是可根据本发明的一个或一个以上实施例操作的电子存储器系统120的功能框图。在图1中所图解说明的实施例中,举例来说,存储器系统120可为固态驱动器(SSD)。如图1中所图解说明,举例来说,系统120可包含存储器控制器101、主机接口连接器103及若干存储器阵列130-1、…、130-N(例如,若干固态存储器阵列(例如,若干快闪阵列))。
接口103可用于在存储器系统120与另一装置(例如,主机系统102)之间传送信息。主机系统102可包含存储器存取装置,例如处理器。所属领域的技术人员将了解,“处理器”可意指一个或一个以上处理器,例如,并行处理系统、若干协处理器等。主机系统的实例包含膝上型计算机、个人计算机、数码相机、数字记录及回放装置、PDA、存储器读卡器、接口集线器等。对于一个或一个以上实施例,接口103可呈标准化接口形式。举例来说,主机接口连接器103可为串行高级技术附件(SATA)、外围组件快速互连(PCIe)或通用串行总线(USB),以及其它连接器及接口。然而,一般来说,接口103可提供用于在存储器系统120与主机系统102之间传递控制、地址、数据及其它信号的接口,主机系统102具有用于接口103的兼容接纳器。
存储器控制器101可与阵列130-1、…、130-N通信以感测、编程及擦除数据,以及进行其它操作。存储器控制器101可具有可为一个或一个以上集成电路及/或离散组件的电路。对于一个或一个以上实施例,存储器控制器101中的电路可包含用于控制跨越若干存储器阵列的存取及/或用于在外部主机与存储器系统120之间提供翻译层的控制电路。因此,存储器控制器可选择性地耦合存储器阵列的I/O连接(图1中未显示)以在适当时间在适当I/O连接处接收适当信号。类似地,主机102与存储器系统120之间的通信协议可不同于存取存储器阵列(例如,阵列130-1到130-N)所需的通信协议。然后,存储器控制器101可将从主机(例如,102)接收的命令翻译成适当命令以实现对存储器阵列的所期望存取。
存储器阵列130-1、…、130-N可为非易失性存储单元阵列,举例来说,其可为具有NAND架构的快闪存储单元。在NAND架构中,一“行”存储单元的控制栅极可与字线耦合,而一“列”存储单元的漏极区可耦合到位线。所述存储单元的源极区可耦合到源极线。如所属领域的技术人员将了解,存储单元连接到位线及源极线的方式相依于所述阵列是NAND架构、NOR架构、AND架构还是某一其它存储器阵列架构。
图1的实施例可包含额外电路,为不使本发明的实施例模糊未图解说明所述额外电路。举例来说,存储器系统120可包含用以锁存经由I/O电路在I/O连接上提供的地址信号的地址电路。地址信号可由行解码器及列解码器接收并解码以存取存储器130-1、…、130-N。所属领域的技术人员将了解,地址输入连接的数目相依于存储器130-1、…、130-N的密度及架构且地址数目随着存储单元数目及存储器块及阵列数目两者的增加而增加。
图2图解说明根据本发明的一个或一个以上实施例的存储器阵列230的一部分的图示。虽然在图2中未显示,但所属领域的技术人员将了解,存储器阵列230可连同与其操作相关联的各种外围电路一起位于特定半导体裸片上。
如图2中所示,阵列230具有若干存储单元物理块240-0(块0)、240-1(块1)、…、240-M(块M)。在图1中所示的实例中,指示符“M”用于指示阵列230可包含若干物理块。存储单元可为单电平单元及/或多电平单元。作为实例,阵列230中的物理块的数目可为128个块、512个块或1,024个块,但实施例并不限于阵列230中的128的特定倍数或任一特定数目的物理块。此外,实施例并不限于阵列中所使用存储器的类型,例如非易失性、易失性等。在图2中所图解说明的实施例中,存储器阵列230可为(举例来说)NAND快闪存储器阵列230。
在此实例中,每一物理块240-0、240-1、…、240-M包含可作为单元一起擦除的存储单元,例如,每一物理块中的单元可以大致同时的方式擦除。举例来说,每一物理块中的单元可在单个操作中一起擦除。每一物理块(例如,240-0、240-1、…、240-M)含有耦合到存取线(例如,字线)的若干存储单元物理行(例如,250-0、250-1、…、250-R)。指示符“R”用于指示物理块(例如,240-0、240-1、…、240-M)可包含若干行。在一些实施例中,每一物理块中的行(例如,字线)的数目可为32,但实施例并不限于每物理块特定数目个行250-0、250-1、…、250-R。
如所属领域的技术人员将了解,每一行250-0、250-1、…、250-R可存储一个或一个以上数据页。页是指编程及/或读取单元,例如,一起编程及/或读取或者作为功能性存储单元群组的若干单元。在图1中所示的实施例中,每一行250-0、250-1、…、250-R存储一个数据页。然而,本发明的实施例并不限于此。举例来说,在本发明的一些实施例中,每一行可存储多个数据页。举例来说,行中的每一单元可给上部数据页贡献位且可给下部数据页贡献位。在一个或一个以上实施例中,存储器阵列可包含多个存储单元物理块且每一物理块可组织成多个页。
在本发明的一个或一个以上实施例中,且如图2中所示,行(例如,行250-0)可根据若干物理扇区252-0、252-1、…、252-S存储数据。指示符“S”用于指示行(例如,250-0、250-1、…、250-R)可包含若干物理扇区。每一物理扇区252-0、252-1、…、252-S可存储对应于逻辑扇区的数据且可包含额外开销信息(例如,错误校正码(ECC)信息及逻辑块地址(LBA)信息)以及用户数据。如所属领域的技术人员将了解,逻辑块寻址是通常由主机用来识别逻辑信息扇区的方案。作为实例,逻辑数据扇区可为若干数据字节,例如,256个字节、512个字节或1,024个字节。实施例并不限于这些实例。
注意,物理块240-0、240-1、…、240-M、行250-0、250-1、…、250-R、扇区252-0、252-1、…、252-S及页的其它配置是可能的。举例来说,物理块240-0、240-1、…、240-M的行250-0、250-1、…、250-R可各自存储对应于单个逻辑扇区的数据,所述单个逻辑扇区可包含(举例来说)多于或少于512个数据字节。
图3图解说明根据本发明的一个或一个以上实施例的用于若干存储器阵列330的文件系统的图示。在一个或一个以上实施例中,可使用若干物理块来存储系统数据且可使用若干物理块来存储用户数据。在图3中所图解说明的实施例中,系统数据可包含分区引导记录(PBR)364、保留数据366、第一文件分配表368及第二文件分配表370。系统数据可包含与用于若干存储器阵列330的文件系统的结构及操作相关的数据。作为实例,文件分配表(例如,368及370)可含有文件分配数据,所述文件分配数据集中关于存储器阵列(例如,330)的哪些区域存储有数据、哪些区域是空闲的或哪些区域可能不可用及数据存储于所述存储器阵列中何处的信息。在各种实施例中,可使用两个文件分配表,其中所述文件分配表中的一者针对所述文件分配表中的一者的潜在故障情况充当备份。举例来说,保留数据366可包含含有关于存储器阵列的信息的数据且可由存储器阵列用于实现存储器阵列的操作。
在图3中所图解说明的实施例中,用户数据可为(例如)从主机装置(例如,图1中所示的主机102)接收的数据。可写入、读取及擦除用户数据362若干次。
在一个或一个以上实施例中,举例来说,主机装置(例如,主机102)及/或控制器(例如,控制器101)中的控制电路可将命令传送到存储器阵列,使得以所期望方式将数据写入到所述存储器阵列。来自主机装置及/或控制电路的命令可经配置以在用于与每一命令相关联的数据的页的开始处写入所述数据。此外,在一个或一个以上实施例中,来自主机装置及/或控制电路的命令可经配置以在将数据写入到经擦除块时在物理块的第一页(例如,物理块边界)处写入数据。在一个或一个以上实施例中,经格式化存储器装置可使用来自主机装置及/或控制电路的命令来将数据写入到存储器阵列的页的第一存储单元(例如,页边界)及/或将数据写入到空(例如,经擦除)页的开始。
在一个或一个以上实施例中,格式化所述存储器阵列可包含写入PBR数据,其中所述PBR可为系统数据及用户数据分配存储器阵列中的空间。PBR数据结构可经构造及/或配置以使得用户数据及系统数据在物理块的开始处起始。当存储器阵列接收到写入命令时,PBR致使所述命令在存储器阵列中对应于模数的下一可用位置处写入数据,所述模数经计算以确保所述存储器阵列中的每一模数递增是在物理块及/或页的开始处。
在一个或一个以上实施例中,格式化包含使用存储器阵列的系统数据及/或元数据确定所述系统数据及用户数据在存储器阵列中的位置。在一个或一个以上实施例中,系统数据及/或元数据可包含物理参数,例如,存储器阵列大小、页大小、块大小、文件系统类型、媒体类型及存储单元类型,以及其它参数。可将可用于存储用户数据的存储空间(例如,扇区)量化为分配单元。分配单元(例如,群集)可包含若干扇区。分配单元中的扇区数目可由存储器阵列的系统数据及/或元数据规定。举例来说,存储器阵列中的扇区可由512个字节构成且分配单元可具有8个扇区,从而产生具有4096个字节的分配单元。因此,在此实例中,主机可通过将8加到先前分配单元的逻辑地址来寻址各自含有4096个字节的连续分配单元。
在一个或一个以上实施例中,可使用写入操作的最小扇区数量(其为页中的扇区数目,例如页大小)及/或擦除操作的最小页数量(其为块中的页数目,例如块大小)连同由存储器阵列元数据及/或系统数据所界定的分配单元一起确定存储器阵列的模数。可使用所述模数来格式化所述存储器阵列以确定系统数据及用户数据的组件的起始位置。
举例来说,SSD在页中可具有4个、8个或16个扇区,其中扇区可为512个字节,且SSD可每物理块具有128个、256个或512个页,因此物理块大小是131072个字节、262144个字节及524288个字节。本发明的实施例并不限于此实例且扇区、页及物理块可由任一数目个字节构成。
在一个或一个以上实施例中,格式化存储器阵列可包含使用页大小、块大小及分配单元来确定要在确定系统数据及用户数据的组件的起始位置时使用的模数。在格式化期间,主机可使用:存储器阵列的SSD组织的知识,尤其是影响写入或擦除操作的最小大小的那些需求;以及主机的关于(举例来说)用于确定存储器阵列的格式(例如,系统数据及用户数据的组件的位置)的所选文件系统的元数据结构的知识,例如FAT1及FAT2的大小。举例来说,可使用存储器阵列的模数以及元数据及/或系统数据来界定PBR、保留数据、FAT1、FAT2及用户数据的起始位置。此格式化将使这些部分中的每一者对准于物理块的开始处。
一旦已格式化装置,用以读取或写入用户数据的主机请求将与模数及分配单元对准。举例来说,FAT类型文件系统最常见地将以2的升幂方式将分配单元组织成若干群组的512字节扇区,以针对小容量装置的1∶1分配单元对逻辑块映射起始,最高达每分配举元64个扇区。举例来说,在每分配单元64个扇区的情况下,将看到由主机进行的存取在为模数64的地址处,其中固定偏移加到所述地址,所述固定偏移相依于先前或交错系统的大小,例如元数据、条目。
当SSD接收到未对准到页边界的写入命令时,将所述页中先于由所述写入命令的起始逻辑块指示的扇区的那些扇区复制到由所述写入命令正存取的页,从而产生额外开销,及也产生对存储器阵列的更多写入,此乃因也将需要擦除那些扇区的旧位置。经格式化的SSD可通过最小化由未经对准的格式招致的额外写入而增加SSD的性能且延长其寿命。
在一个或一个以上实施例中,期望在主机写入新数据时产生最少量额外开销及/或最少量装置必须执行的额外读取/写入操作的格式。
在一个或一个以上实施例中,不知晓SSD的页大小及/或擦除块大小(例如,元数据及/或系统数据)的主机可基于存储器阵列容量可量化为2的幂的事实来格式化所述存储器阵列。可通过基于2的幂对准系统数据及用户数据的组件的逻辑地址(例如,分配单元)来格式化存储器阵列。在基于2的幂对准系统数据与分配单元的一个或一个以上实施例中,对主机命令中所接收的逻辑地址的存储器阵列翻译不能将额外偏移加到所接收逻辑地址,或如果使用偏移,那么所述额外偏移页必须是2的幂。
根据本发明的实施例通过写入数据来格式化存储器阵列可减少与在所述存储器阵列上写入新数据相关联的操作额外开销的量。额外开销可指代除写入命令所寻址的存储单元以外由于硬驱动器与SSD之间的最小可写入或可擦除单元的大小差异所致的写入命令地址相对于快闪(页或块)地址未对准而必须复制或移动的若干额外存储单元。额外开销可至少部分地基于因格式化存储器阵列将致使数据被写入到空(例如,经擦除)页的开始而不需要移动经部分写入的页来在页上写入新数据串而减少。
此外,当格式化存储器阵列时,可更加有效地使用逻辑及/或物理块及/或页。将分配单元及系统数据对准到逻辑页边界及/或逻辑块边界(例如,擦除块)的格式可致使主机写入命令的逻辑地址与物理块或页的边界重合。格式化可致使数据被写入到空(例如,经擦除)物理块的开始(例如,物理块的边界处)。在经格式化存储器阵列中可较不经常擦除及重写物理块及/或页中的数据,这是因为主机写入命令的逻辑地址将在逻辑及/或物理页及/或块的开始处起始,此不需要如在未经对准格式的情况下那样移动或复制所述页及/或物理块中先于写入命令中所指示的逻辑地址的那些扇区。
在一个或一个以上实施例中,格式化存储器阵列可补充损耗均衡,耗损均衡可经实施以控制存储器阵列(例如,图1中的130-1、…、130-N)上的损耗率。如所属领域的技术人员将了解,损耗均衡可增加固态存储器阵列的寿命,这是因为固态存储器阵列可在若干编程及/或擦除循环之后经历故障。
在各种实施例中,损耗均衡可包含动态损耗均衡以最小化为回收块所移动的有效块的量。动态损耗均衡可包含称为无用单元收集(garbagecollection)的技术,其中通过擦除具有若干无效页(即,具有已重写到不同页及/或在无效页上不再需要的数据的页)的块来回收所述块。静态损耗均衡包含将静态数据写入到具有高擦除计数的块以延长所述块的寿命。
在一个或一个以上实施例中,可将若干块指定为备用块以减少与在存储器阵列中写入数据相关联的写入放大的量。备用块可为存储器阵列中可指定为其中不可写入数据的块的块。写入放大是当将数据写入到固态存储器阵列时发生的过程。当将数据随机地写入于存储器阵列中时,所述存储器阵列扫描所述阵列中的空闲空间。存储器阵列中的空闲空间可为未经编程的个别单元、存储单元页及/或存储单元块。如果存在足够空闲空间来写入数据,那么将所述数据写入到所述存储器阵列中的所述空闲空间。如果一个位置中不存在足够空闲空间,那么通过将已存在于存储器阵列中的数据擦除、移动及重写到新位置来重新布置所述存储器阵列中的数据,从而为将要写入于所述存储器阵列中的新数据留出空闲空间。旧数据在存储器阵列中的重新布置可称为写入放大,这是因为必须进行以写入新数据的写入存储器阵列的量是基于所述存储器阵列中空闲空间的量及将要写入于所述存储器阵列上的新数据的大小而放大。写入放大可通过增加存储器阵列上指定为空闲空间(即,将不写入静态数据的地方)的空间的量而减小,因此允许由于将必须重新布置的数据较少而较少地放大必须写入的数据的量。
在一个或一个以上实施例中,格式化存储器阵列可用于减小写入放大的量且也可减小将写入放大控制为所期望水平所需的指定空闲空间的量。经格式化存储器阵列在物理块及页的边界处起始以有效方式填充有数据,因此经格式化存储器阵列中的数据串将不在物理块及/或页的中间起始,因此降低所述数据串将需要被重写到另一位置以在所述存储器阵列中为新数据空出空间的可能性。
图4图解说明根据本发明的一个或一个以上实施例的具有在块边界处对准的用户数据的用于若干存储器阵列430的文件系统的图示。在图4中,用于若干存储器阵列430的文件系统包含分区引导记录464、保留数据466、第一文件分配表468(文件分配表1)及第二文件分配表470(文件分配表2)。在图4中所图解说明的实施例中,保留部分466及第一文件分配表468是由填充部472分离。填充部472可为不用于存储系统数据或用户数据的若干存储单元,例如,填充部472的单元可保持处于经擦除状态。填充部472可位于存储器阵列430内,以使得第二文件分配表470在块边界(例如,474)处结束。此外,填充部472可位于存储器阵列430内,以使得用户数据462在块边界(例如,474)处起始。用户数据462可与块边界对准且所述用户数据可在存储器阵列430中的物理块边界处起始。
在一个或一个以上实施例中,写入到固态驱动器的系统数据及用户数据可与所述固态驱动器的物理结构对准。即,当向经擦除块写入时在物理块的开始处写入数据且当向经擦除页写入时在页的开始处写入数据。此外,在一些实施例中,将不会把数据写入到经部分写入的页且将把数据写入到下一可用经擦除页。
在一个或一个以上实施例中,与固态驱动器中的存储器阵列相关联的各种物理参数可存储于所述固态驱动器上的存储器(例如,随机存取存储器(RAM)及其它存储器类型)中且可经由固态驱动器上的存储器传送到固态驱动器中的控制电路。在一个或一个以上实施例中,可从主机装置传送各种物理参数,所述主机装置从固态驱动器上的存储器接收所述物理参数。所述物理参数可包含存储器阵列大小、页大小、块大小、文件系统类型、媒体类型及存储单元类型以及其它参数。
在一个或一个以上实施例中,一旦控制电路或主机装置知晓所述物理参数,所述控制电路或所述主机装置即可计算用于将数据写入到存储器阵列的模数。所述模数可为当写入数据时所使用的存储单元的最小递增数目。可基于存储单元的总数目、块大小、页大小及存储器阵列的存储单元类型计算所述模数。
在一个或一个以上实施例中,固态驱动器的每一部分可与所述固态驱动器的物理参数对准。在各种实施例中,填充部(例如,填充部472)可提供于固态驱动器上的数据的每一部分中间。填充部可为保持未使用(例如,剩下处于经擦除状态的单元)及不用于写入数据的若干单元。在一些实施例中,填充部可提供于固态驱动器的保留数据与文件分配表之间。举例来说,在图4中所图解说明的实施例中,填充部472提供于保留数据466与文件分配表468之间。填充部可经定位以使得所述文件分配表在块边界(例如,474)处结束,因此将用户数据的起始对准到文件分配表结束位置处的块边界之后的块的开始。
在一个或一个以上实施例中,填充部可提供于保留数据与第一文件分配表之间,从而致使所述第一文件分配表的起始与块边界对准。在各种实施例中,填充部可提供于第一文件分配表与第二文件分配表之间,从而致使所述第二文件分配表与块边界对准。在各种实施例中,填充部可提供于第二文件分配表与用户数据之间,从而致使所述用户数据与块边界对准。在一个或一个以上实施例中,填充部可用于(例如,位于)存储器阵列内的各种其它位置中,以使得固态驱动器上的数据的一部分与块边界对准。
图5图解说明可根据本发明的一个或一个以上实施例操作的具有在块边界处对准的文件分配表及用户数据的用于若干存储器阵列530的文件系统的图示。在图5中,用于若干存储器阵列530的文件系统具有分区引导记录564、保留数据566、第一文件分配表568(文件分配表1)及第二文件分配表570(文件分配表2)。保留数据566与第一文件分配表568是由填充部576分离。填充部576可为(例如)结合图4所述的填充部472的填充部。举例来说,填充部576可为不用于存储数据(例如,不将数据写入到单元或不从所述单元读取数据)的若干存储单元。为填充部576的部分的存储单元在块边界578处结束,以使得第一文件分配表568在块边界578处起始。写入于第一文件分配表568中的文件分配数据可与边界578之后的块的开始对准,如图5中所图解说明。
在图5中,第一文件分配表568与第二文件分配表570是由填充部580分离。为填充部580的部分的存储单元在块边界582处结束,以使得第二文件分配表570在块边界582处起始。
在图5中,第二文件分配表570与用户数据562是由填充部584分离。为填充部584的部分的存储单元经定位以使得用户数据562在块边界586处起始。用户数据562可与块边界对准且所述用户数据可在存储器阵列530中的物理块边界处起始。
结论
本发明包含用于固态驱动器格式化的方法及装置。一个装置实施例包含耦合到若干存储器阵列的控制电路,其中每一存储器阵列具有多个存储单元物理块。通过所述控制电路格式化所述存储器阵列,所述控制电路经配置以:将系统数据写入到所述若干存储器阵列,其中所述系统数据在物理块边界处结束;及将用户数据写入到所述若干存储器阵列,其中所述用户数据在物理块边界处起始。
虽然本文中已图解说明及描述了具体实施例,但所属领域的技术人员将了解,可用经计算以实现相同结果的布置来替代所示的具体实施例。本发明打算涵盖本发明的一个或一个以上实施例的修改或变化。应理解,以上说明是以说明性方式而非限定性方式作出。在审阅以上说明之后,所属领域的技术人员将明了以上实施例的组合及本文中未具体描述的其它实施例。本发明的一个或一个以上实施例的范围包含其中使用以上结构及方法的其它应用。因此,应参考所附权利要求书连同这些权利要求书所授权的等效内容的全部范围来确定本发明的一个或一个以上实施例的范围。
在前述实施方式中,出于简化本发明的目的,将一些特征一起集合于单个实施例中。不应将本发明的此方法解释为反映本发明的所揭示实施例必须使用比明确陈述于每一项权利要求中更多的特征的意图。而是,如以上权利要求书反映:发明性标的物在于少于单个所揭示实施例的所有特征。因此,以上权利要求书特此并入到实施方式中,其中每一项权利要求独立地作为单独实施例。
Claims (20)
1.一种存储器控制器(101),其包括:
控制电路,其耦合到若干存储器阵列(130),其中每一存储器阵列(130)具有多个存储单元物理块(240),且其中通过所述控制电路格式化每一存储器阵列(130),所述控制电路经配置以:
将系统数据(364、366、368、370、464、466、468、470、564、566、568、570)写入到所述若干存储器阵列(130),其中所述系统数据在第一块的物理块边界(474、586)处结束,其中,通过包括不含有数据的存储器单元填充部使得所述系统数据的若干文件分配表中的一者在所述第一块的物理块边界处结束而使所述系统数据在所述第一块的物理块边界(474、586)处结束;及
将用户数据(362、462、562)写入到所述若干存储器阵列,其中所述用户数据在第二块的物理块边界(474、586)处起始,其中所述第一块不同于所述第二块。
2.根据权利要求1所述的存储器控制器(101),其中所述若干存储器阵列(130)包含用于系统数据(364、366、368、370、464、466、468、470、564、566、568、570)的一部分及用于用户数据(362、462、562)的一部分。
3.根据权利要求1所述的存储器控制器(101),其中所述若干存储器阵列(130)的一个或一个以上物理参数的指示被存储于所述控制电路中的存储器中。
4.根据权利要求3所述的存储器控制器(101),其中所述若干存储器阵列(130)的所述一个或一个以上物理参数包含阵列大小、页大小、块大小及存储单元类型,所述阵列大小定义了所述若干存储器阵列中的若干物理块以及若干页。
5.一种存储器控制器(101),其包括:
控制电路,其耦合到若干存储器阵列(130),其中所述若干存储器阵列(130)中的每一者具有多个存储单元物理块(240),其中所述控制电路经配置以:
在将文件分配数据写入到所述若干存储器阵列(130)之前,包括不含有数据的经擦除存储器单元填充部,由此所述填充部使得所述文件分配数据在多个物理块中的一者的物理块边界处(474、586)结束、并且用户数据(362、462、562)在所述多个物理块中的另一者的物理块边界处(474、586)的开始处起始。
6.根据权利要求5所述的存储器控制器(101),其中所述控制电路经配置以写入所述文件分配数据,以使得文件分配表(470、570)在所述多个物理块中的一者的物理块边界(474、586)处结束。
7.根据权利要求6所述的存储器控制器(101),其中所述控制电路经配置以在保留数据(466)与所述文件分配表(470)之间提供所述经擦除存储单元填充部(472),以使得所述文件分配表(470)在所述多个物理块中的一者的物理块边界(474)处结束。
8.一种用于格式化存储器系统中的若干存储器阵列(130)的方法,所述方法包括:
指示与所述若干存储器阵列(130)相关联的物理参数;
分配所述若干存储器阵列(130)中的若干存储单元作为存储系统数据(364、366、368、370、464、466、468、470、564、566、568、570);
分配所述若干存储器阵列(130)中的若干存储单元作为存储用户数据(362、462、562);及
写入用户数据(362、462、562)以使得所述用户数据在所述若干存储器阵列(130)中的所述若干存储单元的特定块的物理块边界(474、586)处起始,其中,通过包括不含有数据的存储器单元填充部使得所述系统数据的若干文件分配表中的一者在所述特定块之前的块的物理块边界处结束而使所述用户数据在所述若干存储器阵列(130)中的所述若干存储单元的特定块的物理块边界(474、586)处起始。
9.根据权利要求8所述的方法,其中所述系统数据包含分区引导记录(364、464、564)、保留数据(366、466、566)、第一文件分配表(368、468、568)及第二文件分配表(370、470、570)。
10.根据权利要求8所述的方法,其包含通过经由查询命令从存储器控制器(101)中的存储器接收与所述若干存储器阵列(130)相关联的一个或一个以上物理参数来指示所述物理参数。
11.根据权利要求8、9和10中任一权利要求所述的方法,其包含基于所述所指示的物理参数计算所述若干存储器阵列(130)的模数,其中所述模数为当写入数据时所使用的存储单元的最小递增数目。
12.一种用于格式化存储器系统中的固态驱动器的方法,所述方法包括:
将数据写入到固态驱动器中的若干存储器阵列中的特定存储器阵列的分区引导记录(364、464、564),其中所述特定存储器阵列包含若干存储单元物理块;
写入所述特定存储器阵列的第一文件分配数据(368、468、568)及所述特定存储器阵列的第二文件分配数据(370、470、570);及
通过不在若干存储单元中那些存储的保留数据(466)与所述第一文件分配数据(468)之间写入数据来填充所述特定存储器阵列(472)的一部分,以使得所述第二文件分配数据(470)在第一块的物理块边界(474)处结束且使得用户数据(462)在第二块的物理块边界(474)处起始,其中所述第一块不同于所述第二块。
13.根据权利要求12所述的方法,其包含通过不在若干存储单元中所述第一文件分配数据(568)与所述第二文件分配数据(570)之间写入数据来填充所述特定存储器阵列(580)的一部分,以使得所述第二文件分配数据(570)在所述第一块的物理块边界处结束且使得用户数据(562)在所述第二块的物理块边界(586)处起始。
14.根据权利要求12或13所述的方法,其包含当写入所述用户数据(362、462、562)时将数据写入到页的开始。
15.根据权利要求12所述的方法,其包含至少部分地基于所述特定存储器阵列的一个或一个以上物理参数及用于写入到所述特定存储器阵列的模数而在物理块边界(474、586)处起始写入用户数据(362、462、562)。
16.根据权利要求15所述的方法,其中从包含存储器阵列大小、块大小、页大小及单元类型的群组中选择所述一个或一个以上物理参数,所述阵列大小定义了所述若干存储器阵列中的若干物理块以及若干页。
17.一种固态存储器系统,其包括:
若干存储器阵列(130),其中所述若干存储器阵列中的每一者包含形成若干物理块(240)的若干存储单元,其中将所述物理块中的每一者组织成若干页(250);
存储器控制器(101),其中所述存储器控制器(101)包含耦合到所述若干存储器阵列(130)的控制电路;
主机装置(102),其耦合到所述存储器控制器(101)且包含存储器存取装置及存储器,所述存储器存取装置经配置以执行以下操作:
当将数据写入到从所述若干物理块选出的经擦除物理块时,在物理块的开始处写入用户数据(362、462、562),其中,通过包括不含有数据的存储器单元填充部使得文件分配表在包括所述用户数据的所述物理块之前的物理块的物理块边界处结束,而使得在物理块的开始处写入用户数据(362、462、562);及
当将数据写入到经擦除页时,在页的开始处写入用户数据(362、462、562)。
18.根据权利要求17所述的固态存储器系统,其中所述若干存储器阵列(130)的若干物理参数是响应于查询命令从所述存储器控制器(101)发送到所述存储器存取装置。
19.根据权利要求18所述的固态存储器系统,其中所述若干物理参数由所述存储器存取装置用来计算所述若干存储器阵列(130)的模数,其中所述模数为当写入数据时所使用的存储单元的最小递增数目。
20.根据权利要求18所述的固态存储器系统,其中所述物理参数由所述存储器存取装置用来计算用以写入用户数据(362、462、562)的逻辑块地址。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/356,725 | 2009-01-21 | ||
US12/356,725 US8392687B2 (en) | 2009-01-21 | 2009-01-21 | Solid state memory formatting |
PCT/US2010/000099 WO2010090697A2 (en) | 2009-01-21 | 2010-01-15 | Solid state memory formatting |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102292711A CN102292711A (zh) | 2011-12-21 |
CN102292711B true CN102292711B (zh) | 2016-01-27 |
Family
ID=42337852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080005159.2A Active CN102292711B (zh) | 2009-01-21 | 2010-01-15 | 固态存储器格式化 |
Country Status (7)
Country | Link |
---|---|
US (3) | US8392687B2 (zh) |
EP (1) | EP2389631B1 (zh) |
JP (1) | JP5823875B2 (zh) |
KR (3) | KR20140016440A (zh) |
CN (1) | CN102292711B (zh) |
TW (1) | TWI418980B (zh) |
WO (1) | WO2010090697A2 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8988800B1 (en) | 2009-09-15 | 2015-03-24 | Marvell International Ltd. | Error correction for storage devices |
US8402217B2 (en) | 2009-09-15 | 2013-03-19 | Marvell International Ltd. | Implementing RAID in solid state memory |
US20120089765A1 (en) * | 2010-10-07 | 2012-04-12 | Huang Shih-Chia | Method for performing automatic boundary alignment and related non-volatile memory device |
JP5395824B2 (ja) * | 2011-02-16 | 2014-01-22 | 株式会社東芝 | メモリシステム |
US9069703B2 (en) * | 2011-04-29 | 2015-06-30 | Seagate Technology Llc | Encrypted-transport solid-state disk controller |
JP2013077209A (ja) * | 2011-09-30 | 2013-04-25 | Nintendo Co Ltd | プログラム、情報処理システム、情報処理装置、および情報処理方法 |
TWI467379B (zh) * | 2012-04-23 | 2015-01-01 | Phison Electronics Corp | 系統運作方法、記憶體控制器與記憶體儲存裝置 |
CN103383663B (zh) * | 2012-05-04 | 2016-06-29 | 群联电子股份有限公司 | 系统运作方法、存储器控制器与存储器 |
US9645917B2 (en) * | 2012-05-22 | 2017-05-09 | Netapp, Inc. | Specializing I/O access patterns for flash storage |
JP2015191336A (ja) * | 2014-03-27 | 2015-11-02 | キヤノン株式会社 | メモリ制御装置、情報処理装置とその制御方法、及びプログラム |
US9431052B2 (en) | 2014-06-26 | 2016-08-30 | Marvell World Trade Ltd. | Two dimensional magnetic recording systems, devices and methods |
US10338817B2 (en) * | 2014-12-30 | 2019-07-02 | Sandisk Technologies Llc | Systems and methods for storage recovery |
KR102322084B1 (ko) * | 2015-04-30 | 2021-11-04 | 삼성디스플레이 주식회사 | 터치 센서 장치 및 그 제조 방법 |
JP2017004146A (ja) * | 2015-06-08 | 2017-01-05 | 富士通株式会社 | ストレージ制御装置 |
TWI554885B (zh) * | 2015-08-18 | 2016-10-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 |
CN106484307B (zh) * | 2015-08-25 | 2019-05-21 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元及存储器存储装置 |
KR102502569B1 (ko) * | 2015-12-02 | 2023-02-23 | 삼성전자주식회사 | 시스템 리소스 관리를 위한 방법 및 장치 |
US10261876B2 (en) * | 2016-11-08 | 2019-04-16 | Micron Technology, Inc. | Memory management |
US10795836B2 (en) * | 2017-04-17 | 2020-10-06 | Microsoft Technology Licensing, Llc | Data processing performance enhancement for neural networks using a virtualized data iterator |
US20190227957A1 (en) * | 2018-01-24 | 2019-07-25 | Vmware, Inc. | Method for using deallocated memory for caching in an i/o filtering framework |
CN110945486B (zh) * | 2018-06-30 | 2022-06-10 | 华为技术有限公司 | 一种存储碎片管理方法及终端 |
KR20200057473A (ko) * | 2018-11-16 | 2020-05-26 | 삼성전자주식회사 | 스토리지 장치 및 이를 포함하는 스토리지 시스템 |
KR20200069889A (ko) | 2018-12-07 | 2020-06-17 | 에스케이하이닉스 주식회사 | 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법 |
KR20200086143A (ko) * | 2019-01-08 | 2020-07-16 | 삼성전자주식회사 | 저장 장치 및 그것의 데이터 처리 방법 |
IT201900000973A1 (it) | 2019-01-23 | 2019-04-23 | Cosimo Romano | Sistema di riscaldamento a induzione |
TWI738308B (zh) * | 2020-04-27 | 2021-09-01 | 宇瞻科技股份有限公司 | 基於分頁模式備份資料的固態硬碟以及基於分頁模式的固態硬碟資料備份方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101099125A (zh) * | 2004-12-16 | 2008-01-02 | 桑迪士克股份有限公司 | 群集的自动对准 |
TW200809512A (en) * | 2006-06-30 | 2008-02-16 | Toshiba Kk | Card controller controlling semiconductor memory including memory cell having charge accumulation layer and control gate |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6125435A (en) | 1995-09-13 | 2000-09-26 | Lexar Media, Inc. | Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory |
US5799168A (en) * | 1996-01-05 | 1998-08-25 | M-Systems Flash Disk Pioneers Ltd. | Standardized flash controller |
JP3588231B2 (ja) * | 1997-08-04 | 2004-11-10 | 東京エレクトロンデバイス株式会社 | データ処理システム及びブロック消去型記憶媒体 |
JP4079506B2 (ja) | 1997-08-08 | 2008-04-23 | 株式会社東芝 | 不揮発性半導体メモリシステムの制御方法 |
JP2007293917A (ja) * | 1997-08-08 | 2007-11-08 | Toshiba Corp | メモリシステムの制御方法 |
WO2000050997A1 (fr) * | 1999-02-22 | 2000-08-31 | Hitachi, Ltd. | Carte memoire, procede d'affectation d'adresse logique, et procede d'ecriture de donnees |
US6191712B1 (en) * | 1999-06-28 | 2001-02-20 | International Business Machines Corporation | Circuit for aligning logical sectors with physical sectors in a disk storage system |
EP1498810B1 (en) * | 1999-10-21 | 2018-12-26 | Panasonic Corporation | A semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card |
US7085914B1 (en) * | 2000-01-27 | 2006-08-01 | International Business Machines Corporation | Methods for renaming stack references to processor registers |
JP3942807B2 (ja) * | 2000-06-06 | 2007-07-11 | 株式会社ルネサステクノロジ | ブロックアラインメント機能付き半導体記憶装置 |
US6745266B1 (en) * | 2001-12-21 | 2004-06-01 | Unisys Corporation | Method and apparatus for disk cache translation between systems |
JP4238514B2 (ja) | 2002-04-15 | 2009-03-18 | ソニー株式会社 | データ記憶装置 |
EP1653362B1 (en) * | 2003-08-06 | 2015-09-30 | Panasonic Corporation | Accessing device and method for a semiconductor memory card |
US20050041453A1 (en) | 2003-08-22 | 2005-02-24 | Brazis Paul W. | Method and apparatus for reading and writing to solid-state memory |
US7383375B2 (en) * | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
JP4130808B2 (ja) * | 2004-01-30 | 2008-08-06 | 松下電器産業株式会社 | フォーマット方法 |
JP4566621B2 (ja) * | 2004-05-14 | 2010-10-20 | 富士通セミコンダクター株式会社 | 半導体メモリ |
JP4177292B2 (ja) * | 2004-05-31 | 2008-11-05 | Tdk株式会社 | メモリンコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
JP4157501B2 (ja) * | 2004-06-30 | 2008-10-01 | 株式会社東芝 | 記憶装置 |
JP4177301B2 (ja) * | 2004-07-29 | 2008-11-05 | Tdk株式会社 | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
US7509474B2 (en) * | 2005-06-08 | 2009-03-24 | Micron Technology, Inc. | Robust index storage for non-volatile memory |
US20070143566A1 (en) | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Non-volatile memories with data alignment in a directly mapped file storage system |
US7802232B2 (en) * | 2006-03-31 | 2010-09-21 | Microsoft Corporation | Software robustness through search for robust runtime implementations |
US8112575B2 (en) * | 2006-08-04 | 2012-02-07 | Panasonic Corporation | Memory controller, nonvolatile memory device, access device, and nonvolatile memory system |
JP2008112285A (ja) * | 2006-10-30 | 2008-05-15 | Toshiba Corp | 不揮発性メモリシステム |
US7791952B2 (en) * | 2007-01-30 | 2010-09-07 | Micron Technology, Inc. | Memory device architectures and operation |
US7774525B2 (en) | 2007-03-13 | 2010-08-10 | Dell Products L.P. | Zoned initialization of a solid state drive |
TWI362667B (en) * | 2007-12-31 | 2012-04-21 | Phison Electronics Corp | Data writing method for flash memory and controller thereof |
-
2009
- 2009-01-21 US US12/356,725 patent/US8392687B2/en active Active
-
2010
- 2010-01-15 EP EP10738833.2A patent/EP2389631B1/en active Active
- 2010-01-15 WO PCT/US2010/000099 patent/WO2010090697A2/en active Application Filing
- 2010-01-15 JP JP2011546264A patent/JP5823875B2/ja active Active
- 2010-01-15 KR KR1020147001824A patent/KR20140016440A/ko active Application Filing
- 2010-01-15 KR KR1020157015649A patent/KR101759811B1/ko active IP Right Grant
- 2010-01-15 KR KR1020117019230A patent/KR20110107857A/ko not_active Application Discontinuation
- 2010-01-15 CN CN201080005159.2A patent/CN102292711B/zh active Active
- 2010-01-18 TW TW099101249A patent/TWI418980B/zh active
-
2013
- 2013-03-04 US US13/783,971 patent/US9626287B2/en active Active
-
2017
- 2017-03-16 US US15/460,296 patent/US20170199702A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101099125A (zh) * | 2004-12-16 | 2008-01-02 | 桑迪士克股份有限公司 | 群集的自动对准 |
TW200809512A (en) * | 2006-06-30 | 2008-02-16 | Toshiba Kk | Card controller controlling semiconductor memory including memory cell having charge accumulation layer and control gate |
Also Published As
Publication number | Publication date |
---|---|
KR20140016440A (ko) | 2014-02-07 |
EP2389631B1 (en) | 2018-08-08 |
KR20110107857A (ko) | 2011-10-04 |
KR20150070448A (ko) | 2015-06-24 |
US20130254465A1 (en) | 2013-09-26 |
WO2010090697A3 (en) | 2010-10-28 |
KR101759811B1 (ko) | 2017-07-19 |
EP2389631A4 (en) | 2012-08-22 |
US20100185802A1 (en) | 2010-07-22 |
US9626287B2 (en) | 2017-04-18 |
US8392687B2 (en) | 2013-03-05 |
EP2389631A2 (en) | 2011-11-30 |
TW201040719A (en) | 2010-11-16 |
JP2012515955A (ja) | 2012-07-12 |
WO2010090697A2 (en) | 2010-08-12 |
US20170199702A1 (en) | 2017-07-13 |
JP5823875B2 (ja) | 2015-11-25 |
CN102292711A (zh) | 2011-12-21 |
TWI418980B (zh) | 2013-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102292711B (zh) | 固态存储器格式化 | |
CN110603531B (zh) | 垃圾收集 | |
US8751731B2 (en) | Memory super block allocation | |
CN102576332B (zh) | 用于电力中断管理的方法和包含电力中断管理的存储器系统 | |
CN102549554B (zh) | 基于条带的存储器操作 | |
TWI432960B (zh) | 操作記憶體單元之方法,記憶體控制器以及記憶體系統 | |
CN102239524B (zh) | 逻辑单元操作 | |
US8108589B2 (en) | Wear leveling method and controller using the same | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
CN103635968A (zh) | 包含存储器系统控制器的设备和相关方法 | |
CN103270500A (zh) | 事务日志恢复 | |
CN103650054A (zh) | 包含存储器系统控制器的设备和相关方法 | |
CN107423231B (zh) | 用来管理一记忆装置的方法以及记忆装置与控制器 | |
CN101625897B (zh) | 用于快闪存储器的数据写入方法、储存系统与控制器 | |
CN110083546B (zh) | 记忆装置中进行写入管理的方法、记忆装置和其控制器 | |
WO2009156873A1 (en) | Ad hoc flash memory reference cells | |
US8074128B2 (en) | Block management and replacement method, flash memory storage system and controller using the same | |
JP7026833B1 (ja) | 記憶装置、フレッシュメモリコントローラ及びその制御方法 | |
CN101727397B (zh) | 区块管理与更换方法、闪存储存系统及其控制器 | |
CN115525605A (zh) | 一种文件系统的传输系统、方法 | |
CN111583976B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 |
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 |