CN107544925A - 存储器系统及加速引导时间的方法 - Google Patents
存储器系统及加速引导时间的方法 Download PDFInfo
- Publication number
- CN107544925A CN107544925A CN201710489511.8A CN201710489511A CN107544925A CN 107544925 A CN107544925 A CN 107544925A CN 201710489511 A CN201710489511 A CN 201710489511A CN 107544925 A CN107544925 A CN 107544925A
- Authority
- CN
- China
- Prior art keywords
- tube core
- data
- memory
- image
- accumulator system
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/441—Multiboot arrangements, i.e. selecting an operating system to be loaded
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
Abstract
本发明公开一种存储器系统,其包括:多个存储器通道,多个存储器通道中的每一个包括多个存储器管芯和管芯处理器,多个存储器管芯中的每一个包括多个存储块;以及存储器控制器,其包括联接到多个存储器通道的主处理器,其中多个存储器通道中的每一个上的管芯处理器被并行地配置为处理以在多个存储器管芯的至少一个预定块内找到最后写入数据;以及将关于最后写入数据的信息提供给主处理器,主处理器基于该信息确定哪个引导记录用于识别固件映像。
Description
相关申请的交叉引用
本申请要求于2016年6月24日提交的申请号为62/354,501的美国临时申请的权益,其全部内容通过引用并入本文。
技术领域
本公开的示例性实施例涉及一种存储器系统及其操作方法。
背景技术
计算机环境范例已经转变至可随时随地使用的普适计算系统。由于该事实,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有存储器装置的存储器系统,诸如数据存储装置。数据存储装置被用作便携式电子装置的主存储器装置或辅助存储器装置。
因为使用存储器装置的数据存储装置不具有移动部件,所以它们提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的数据存储装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
SSD可以包括闪速存储器部件和SSD控制器。SSD控制器也可以被称为处理器,其包括将闪速存储器部件桥接到SSD输入/输出(I/O)接口的电子器件。
因此,仍然需要用于加速或减少诸如SSD的存储器系统的引导时间的存储器系统及其操作方法。
发明内容
本公开的实施例涉及一种存储器系统及其操作方法,其能够加速或减少存储器系统的引导时间。
存储器系统可以包括:多个存储器通道,多个存储器通道中的每一个包括多个存储器管芯和管芯处理器,多个存储器管芯中的每一个包括多个存储块;以及存储器控制器,其包括联接到多个存储器通道的主处理器,其中多个存储器通道中的每一个上的管芯处理器被并行地配置为:处理以在多个存储器管芯的至少一个预定块内找到最后写入数据,以及将关于最后写入数据的信息提供给主处理器,主处理器基于该信息确定哪个引导记录用于识别固件映像(image)。
存储器系统的操作方法可以包括:提供多个存储器通道和包括联接到多个存储器通道的主处理器的存储器控制器,多个存储器通道中的每一个包括多个存储器管芯和管芯处理器,多个存储器管芯中的每一个包括多个存储块;通过多个存储器通道上的管芯处理器并行地处理以在多个存储器管芯的至少一个预定块内找到最后写入数据,并且将关于最后写入数据的信息提供给主处理器;以及通过主处理器基于该信息确定哪个引导记录用于识别固件映像。
存储器系统可以包括:存储器装置,其包括多个存储器管芯和管芯处理器,多个存储器管芯中的每一个包括多个存储块;以及存储器控制器,其包括联接到所述存储器装置的主处理器。管芯处理器被配置为处理以在多个存储器管芯的至少一个预定块内找到最后写入数据,并且将关于最后写入数据的信息提供给主处理器,使得主处理器基于该信息确定哪个引导记录用于识别固件映像。
附图说明
通过参照附图的以下具体实施方式,本发明的以上和其它特征及优点对于本发明所属领域的技术人员将变得更加显而易见,其中:
图1是示意性地示出根据本发明的实施例的存储器系统的顶层框图。
图2是示出根据本发明的实施例的存储器系统的详细框图。
图3是示出根据本发明的实施例的存储器装置的存储块的电路图。
图4是示出根据本发明的实施例的在存储器系统中搜索最后更新的引导记录的方案的示图。
图5是示出根据本发明的实施例的在包括在存储器系统中的处理器之间搜索最后更新的引导记录的操作的示图。
图6是示出根据本发明的实施例的包括并行处理器的存储器系统的示图。
图7是示出根据本发明的实施例的在存储器系统中搜索最后更新的引导记录的操作的流程图。
具体实施方式
以下将参照附图更详细地描述各个实施例。然而,本发明可以以不同的形式实施并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完全的,并且将向本领域技术人员完全传达本发明的范围。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。
本发明可以以各种方式实施,其包括作为进程;设备;系统;物质的组成;实施在计算机可读存储介质上的计算机编程产品;和/或处理器,诸如适于执行存储在联接到处理器的存储器上和/或由联接到处理器的存储器提供的指令的处理器。在本说明书中,这些实施方式或本发明可以采取的任何其它形式可以被称为技术。通常,公开的进程的步骤的顺序可以在本发明的范围内改变。除非另有说明,否则诸如被描述为适于执行任务的处理器或存储器的部件可以被实施为暂时适于在给定时间执行任务的一般部件或被制造为执行任务的特定部件。如本文使用的,术语“处理器”是指适于处理诸如计算机编程指令的数据的一个或多个装置、电路和/或处理核。
以下提供对本发明的一个或多个实施例的详细描述以及说明本发明的原理的附图。结合这些实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求限制,并且本发明包括许多替代方案、变型和等同物。为了提供对本发明的透彻理解,在以下描述中阐述许多具体细节。为了示例的目的提供这些细节,并且在没有这些具体细节中的一些或全部的情况下,根据权利要求可以实现本发明。为了清楚的目的,与本发明相关的技术领域中已知的技术材料尚未详细描述,使得本发明不被不必要地模糊。
图1是示意性地示出根据本发明的实施例的存储器系统的顶层框图。
参照图1,存储器系统10可以包括存储器控制器100和存储器装置200。存储器控制器100可以控制存储器装置200的整体操作。
存储器装置200可以在存储器控制器100的控制下执行一个或多个擦除操作、编程操作和读取操作。存储器装置200可以通过输入/输出线路接收命令CMD、地址ADDR和数据。存储器装置200可以通过电源线路接收电源PWR并且通过控制线路接收控制信号CTRL。控制信号可以包括命令锁存使能(CLE)信号、地址锁存使能(ALE)信号、芯片使能(CE)信号、写入使能(WE)信号、读取使能(RE)信号等。
存储器控制器100和存储器装置200可以被集成在单个半导体装置中。例如,存储器控制器100和存储器装置200可以被集成在诸如SSD的单个半导体装置中。SSD可以包括用于在其中存储数据的存储装置。当在SSD中使用存储器系统10时,联接到存储器系统10的主机(未示出)的操作速度可以显著提高。
存储器控制器100和存储器装置200可以被集成在诸如存储卡的单个半导体装置中。例如,存储器控制器100和存储器装置200可以被集成在单个半导体装置中以配置诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)的PC卡、标准闪存(CF)卡、智能媒体(SM)卡、记忆棒、多媒体卡(MMC)、尺寸减小的多媒体卡(RS-MMC)、微型尺寸版本的MMC(微型MMC)、安全数字(SD)卡、迷你安全数字(迷你SD)卡、微型安全数字(微型SD)卡、安全数字高容量(SDHC)和通用闪存(UFS)。
又例如,存储器系统10可以被设置为包括诸如以下的电子装置的各种元件中的一种:计算机、超移动PC(UMPC)、工作站、上网本计算机、个人数字助理(PDA)、便携式计算机、网络平板PC、无线电话、移动电话、智能电话、电子书阅读器、便携式多媒体播放器(PMP)、便携式游戏装置、导航装置、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心的存储装置、能够在无线环境下接收和传输信息的装置、家庭网络的电子装置中的一个、计算机网络的电子装置中的一个、远程信息处理网络的电子装置中的一个、射频识别(RFID)装置或计算系统的元件装置。
图2是示出根据本发明的实施例的存储器系统的详细框图。例如,图2的存储器系统可以描绘图1所示的存储器系统10。
参照图2,存储器系统10可以包括存储器控制器100和存储器装置200。存储器系统10可以响应于来自主机装置的请求而操作,并且特别地,存储由主机装置访问的数据。
主机装置可以利用各种电子装置中的任意一种来实施。在一些实施例中,主机装置可以包括诸如以下的电子装置:台式计算机、工作站、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器和数字视频播放器。在一些实施例中,主机装置可以包括诸如以下的便携式电子装置:移动电话、智能电话、电子书、MP3播放器、便携式多媒体播放器(PMP)和便携式游戏机。
存储器装置200可以存储由主机装置访问的数据。
存储器装置200可以利用诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的易失性存储器装置或诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)和电阻式RAM(RRAM)的非易失性存储器装置来实施。
存储器控制器100可以控制数据在存储器装置200中的存储。例如,存储器控制器100可以响应于来自主机装置的请求来控制存储器装置200。存储器控制器100可以将从存储器装置200读取的数据提供给主机装置,并且将从主机装置提供的数据存储到存储器装置200中。
存储器控制器100可以包括通过总线160联接的存储单元110、控制单元120、错误校正码(ECC)单元130、主机接口140和存储器接口150。
存储单元110可以用作存储器系统10和存储器控制器100的工作存储器,并且存储用于驱动存储器系统10和存储器控制器100的数据。当存储器控制器100控制存储器装置200的操作时,存储单元110可以存储由存储器控制器100和存储器装置200用于诸如读取操作、写入操作、编程操作和擦除操作的操作的数据。
存储单元110可以利用易失性存储器来实施。存储单元110可以利用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。如上所述,存储单元110可以将由主机装置使用的数据存储在存储器装置200中以用于读取操作和写入操作。为了存储数据,存储单元110可以包括编程存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
控制单元120可以控制存储器系统10的一般操作,并且可以响应于来自主机装置的写入请求或读取请求来控制存储器装置200的写入操作或读取操作。控制单元120可以驱动被称为闪存转换层(FTL)的固件来控制存储器系统10的一般操作。例如,FTL可以执行诸如逻辑到物理(L2P)映射、耗损均衡、垃圾收集和坏块处理的操作。
ECC单元130可以检测并校正在读取操作期间从存储器装置200读取的数据中的错误。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC单元130可以不校正错误位,并且可以输出指示校正错误位失败的错误校正失败信号。
在一些实施例中,ECC单元130可以基于诸如以下的编码调制执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、涡轮码、涡轮乘积码(TPC)、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、格形编码调制(TCM)、分组编码调制(BCM)等。ECC单元130可以包括用于错误校正操作的所有电路、系统或装置。
主机接口140可以通过诸如以下的各种接口协议中的一种或多种与主机装置通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和集成驱动电路(IDE)。
存储器接口150可以提供存储器控制器100和存储器装置200之间的接口以允许存储器控制器100响应于来自主机装置的请求来控制存储器装置200。存储器接口150可以在CPU 120的控制下生成用于存储器装置200的控制信号并且处理数据。当存储器装置200是诸如NAND闪速存储器的闪速存储器时,存储器接口150可以在CPU 120的控制下生成用于存储器的控制信号并且处理数据。
存储器装置200可以包括存储器单元阵列210、控制电路220、电压生成电路230、行解码器240、页面缓冲器250、列解码器260和输入/输出电路270。存储器单元阵列210可以包括多个存储块211,并且可以在其中存储数据。电压生成电路230、行解码器240、页面缓冲器250、列解码器260和输入/输出电路270形成用于存储器单元阵列210的外围电路。外围电路可以执行存储器单元阵列210的编程操作、读取操作或擦除操作。控制电路220可以控制外围电路。
电压生成电路230可以生成具有各种电平的操作电压。例如,在擦除操作中,电压生成电路230可以生成诸如擦除电压和通过电压的具有各种电平的操作电压。
行解码器240可以连接到电压生成电路230和多个存储块211。行解码器240可以响应于由控制电路220生成的行地址RADD在多个存储块211中选择至少一个存储块,并且将从电压生成电路230供给的操作电压传输到在多个存储块211中选择的存储块。
页面缓冲器250通过位线BL(未示出)连接到存储器单元阵列210。响应于由控制电路220生成的页面缓冲器控制信号,页面缓冲器250可以利用正电压对位线BL预充电,在编程操作和读取操作中将数据传输到选择的存储块/从选择的存储块接收数据,或临时存储传输的数据。
列解码器260可以将数据传输到页面缓冲器250/从页面缓冲器250接收数据或将数据传输到输入/输出电路270/从输入/输出电路270接收数据。
输入/输出电路270可以通过输入/输出电路270将从外部装置(例如,存储器控制器100)传输的命令和地址传输到控制电路220,将数据从外部装置传输到列解码器260,或将数据从列解码器260输出到外部装置。
控制电路220可以响应于命令和地址来控制外围电路。
图3是示出根据本发明的实施例的存储器装置的存储块的电路图。例如,图3的存储块可以是图2所示的存储器装置200的存储块211。
参照图3,存储块211可以包括分别联接到位线BL0至BLm-1的多个单元串221。每个列的单元串可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元或存储器单元晶体管可以串联联接在选择晶体管DST和SST之间。存储器单元MC0至MCn-1中的每个可以由每个单元中存储多个位的数据信息的多层单元(MLC)形成。单元串221可以分别电联接到相应的位线BL0至BLm-1。
在一些实施例中,存储块211可以包括NAND型闪速存储器单元。然而,存储块211不限于NAND闪速存储器,而是可以包括NOR型闪速存储器、其中组合两种或更多种存储器单元的混合闪速存储器或其中控制器内嵌于存储器芯片内的1-NAND闪速存储器。
通常,诸如仅包含NAND闪速存储器作为主可编程非易失性存储器的SSD的存储器系统的上电引导需要将信息存储在NAND闪速存储器内的特定位置处以识别固件映像及其冗余副本位于NAND闪速存储器内的位置。为了满足可靠性,该信息必须被冗余地跨越不同的NAND闪存装置或存储器和硬件路径(或通道)存储。该信息可以被称为引导记录。
固件更新导致引导记录被修改。由于NAND闪速存储器对编程/擦除(P/E)循环的数量有限制,因此引导记录以最小化P/E循环的数量并且迫使存储器系统在NAND闪存块内扫描引导记录的方式写入。引导记录被存储在NAND闪速存储器内的特定块中。当发生固件更新时,新的NAND闪存页面被写入到块。因此,当SSD驱动器引导时,包含最后更新的块内的确切NAND闪存页面是未知的并且必须被搜索。
本发明的各个实施例提供一种使用并行处理来协助在块内搜索NAND闪存页面的方案以减少在诸如SSD的存储器装置内找到包含最新引导记录的NAND闪存页面的时间。
图4是示出根据本发明的实施例在存储器系统中搜索最后更新的引导记录的方案的示图。
参照图4,本发明的方法假设包含在专用集成电路(ASIC)内的ROM 430具有访问用于固件映像410的引导记录420的代码。ROM 430的代码可以被分成较小的ROM代码432和引导加载程序映像434。引导加载程序映像434可以包含在诸如非易失性NAND闪速存储器的存储器装置中。ROM代码432具有找到和执行引导加载程序映像434的能力。引导加载程序映像434包含访问引导记录420的代码。根据本发明的各个实施例,可以应用利用并行处理来找到引导加载程序434及其冗余副本的技术。引导加载程序434可以使用该机制来访问引导记录420。当引导加载程序434的代码以不允许许多写入循环来获得更高数据保持的方式(即,NAND闪速存储器的固件(FW)单层单元(SLC)模式)被存储在NAND闪速存储器中时,需要该后一种情况。
图5是示出根据本发明的实施例的在包括在存储器系统中的处理器之间搜索最后更新的引导记录的操作的示图。
参照图5,存储器系统可以包括主处理器510和管芯处理器610。主处理器510可以被包括在存储器系统(或存储装置)的存储器控制器(例如,图1中的100)中。管芯处理器610可以被包括在存储器系统的多个存储器通道或装置(例如,图1中的200)中。多个存储器通道中的每一个可以包括多个存储器管芯。多个存储器管芯中的每一个可以包括多个存储块。
在存储器系统的上电引导中,在允许每个通道上的管芯处理器610引导之前,主处理器510可以使用ROM映像并且指定在每个通道上包含引导记录的存储器管芯和块(S510)。每个通道上的每个管芯处理器610的引导可以在指定的块内找到最后写入数据(S520)。该信息可以被提供给主处理器510(S530)。主处理器510可以确定哪个引导记录用于找到固件映像以加载(S540)。
图6是示出根据本发明的实施例包括并行处理器的存储器系统的示图。
参照图6,存储器系统可以包括包含主处理器510的存储器控制器和多个存储器通道或装置601至60N。主处理器510可以联接到诸如存储器通道601至60N的多个存储器通道。多个存储器通道601至60N中的每一个可以包括诸如存储器管芯631至639的多个存储器管芯(例如,NAND闪存管芯)。存储器管芯631至639中的每一个可以包括多个存储块。多个存储块中的每一个可以包括多个页面。
多个存储器通道601至60N的管芯处理器可以并行操作。多个存储器通道601至60N中的每一个上的管芯处理器610可以在多个存储器管芯631至639的预定块或块内找到最后写入数据。管芯处理器610可以将关于最后写入数据的信息提供给主处理器510。主处理器510可以基于关于最后写入数据的信息来确定哪个引导记录用于识别固件映像。
多个存储器通道601至60N中的每一个可以进一步包括诸如用于引导加载程序映像的管芯ROM映像620或包括用于访问作为最后引导记录的最后写入数据的代码的只读存储器(ROM)映像的元件。存储器控制器可以进一步包括诸如用于只读存储器(ROM)映像的ROM映像520的元件,该只读存储器(ROM)映像包括用于找到和执行用于主处理器510或多个存储器通道601至60N的引导加载程序映像的代码。此外,存储器控制器可以包括诸如用于熔断的熔丝(fuse)530的元件,其中备用位定义多个存储器通道和管芯以及每个引导记录的存储器页面的数量。
以上本发明的实施例是当每个通道上的管芯处理器610引导其自身的诸如管芯ROM映像620的ROM映像时,并行地跨越不同通道访问引导记录。实施例可以最小化序列化,节省引导时间,节省初始导通时的功率,并释放存储器控制器的主处理器510以执行其它初始化,如双倍数据速率(DDR)训练、同步动态随机存取存储器(SDRAM)初始化等。
通常,写入到诸如NAND闪存管芯的存储器管芯的数据可能被加扰并且取决于关于管芯处理器610的加扰/解扰定义管芯处理器610是否可以实际地解译从存储器管芯631至639读取的数据。
在存储器通道601至60N中的每一个上的管芯处理器610不能解译从NAND闪存页面读取的数据的情况下,管芯处理器610必须具有确定NAND闪存页面是否处于擦除状态的能力。这与在全新的驱动器上的初始坏扇区扫描很像,只能通过先验引导扇区位置信息来缩小范围。知道NAND闪存页面在块内以特定顺序被写入,则管芯处理器610从诸如存储器管芯631至639的指定管芯和块读取页面以在引导期间找到最后的非擦除页面。读取哪个页面的选择利用二进制搜索来找到写入到擦除页面的页面的边界。该信息被提供给主处理器510。然后,主处理器510读取解扰的NAND闪存页面并且确定哪个引导记录用于找到固件映像。
在存储器通道601至60N中的每一个上的管芯处理器610能够解译从NAND闪存页面读取的数据的情况下,在引导期间,管芯处理器610从诸如存储器管芯631至639的指定管芯和块读取页面以使用二进制搜索找到最后引导记录来确定读取的页面。来自每个管芯块的引导记录被提供给主处理器510。然后,主处理器510选择用于找到固件映像的根记录。
哪些存储器通道和块包含引导记录的识别可以在ROM映像520中被硬编码或者在存储器控制器中的其它非易失性装置中可用。一种机制是使用熔丝530中的备用位来定义不仅包括存储器通道和管芯还包括每个引导记录的NAND闪存页面的数量的信息。将单独的非易失性装置用于该信息允许使用用于引导记录的不同通道、块和页面数量来解释不同的NAND装置和驱动器容量,同时使用相同的ROM映像。
图7是示出根据本发明的实施例的在存储器系统中搜索最后更新的引导记录的操作的流程图。
参照图7,操作可以包括提供图6中的多个存储器通道601至60N和包括联接到多个存储器通道601至60N的主处理器510的存储器控制器(S710)。多个存储器通道601至60N中的每一个可以包括多个存储器管芯631至639和管芯处理器610。多个存储器管芯631至639中的每一个可以包括多个存储块。
操作可以进一步包括:通过多个存储器通道601至60N上的管芯处理器610并行地处理以在多个存储器管芯631至639的预定块或块内找到最后写入数据,以及将关于最后写入数据的信息提供给主处理器510(S720)。
操作可以进一步包括:通过主处理器510,基于关于最后写入数据的信息来确定哪个引导记录用于识别固件映像(S730)。
在实施例中,处理以找到最后写入数据可以包括如果多个存储器通道601至60N中的每一个上的管芯处理器610不能解译从多个存储器管芯631至639读取的数据,则在引导期间找到最后非擦除页面作为最后写入数据。
在另一实施例中,处理以找到最后写入数据可以包括如果多个存储器通道601至60N中的每一个上的管芯处理器610能够解译从多个存储器管芯631至639读取的数据,则找到最后引导记录作为最后写入数据。多个存储器通道601至60N中的每一个可以包括用于引导加载程序映像的元件,该引导加载程序映像包括访问最后引导记录的代码。存储器控制器可以进一步包括用于只读存储器(ROM)映像的元件,只读存储器(ROM)映像包括找到和执行用于多个存储器通道601至60N的引导加载程序映像的代码。存储器控制器可以进一步包括用于熔丝的元件,其中位定义多个存储器通道601至60N和管芯以及每个引导记录的存储器页面的数量。
如上所述,本发明的实施例可以加快引导时间,但是在每个存储器通道上利用并行处理来辅助找到包括在通道内的引导记录。
虽然已经结合具体的最佳模式描述了本发明,但是应当理解的是,根据前面的描述,许多替代方案、变型和变化对于本领域技术人员将是显而易见的。因此,旨在涵盖落在所附权利要求的范围内的所有这样的替代方案、变型和变化。迄今为止在本文中阐述或在附图中示出的所有事项将以说明性和非限制性的意义来解释。
Claims (18)
1.一种存储器系统,其包括:
多个存储器通道,所述多个存储器通道中的每一个包括多个存储器管芯和管芯处理器,所述多个存储器管芯中的每一个包括多个存储块;以及
存储器控制器,其包括联接到所述多个存储器通道的主处理器,
其中所述多个存储器通道中的每一个上的所述管芯处理器被并行地配置为:
处理以在所述多个存储器管芯的至少一个预定块内找到最后写入数据;以及
将关于所述最后写入数据的信息提供给所述主处理器,所述主处理器基于所述信息确定哪个引导记录用于识别固件映像。
2.根据权利要求1所述的存储器系统,其中所述管芯处理器被配置为找到所述最后写入数据包括如果所述多个存储器通道中的每一个上的所述管芯处理器不能解译从所述多个存储器管芯读取的数据,则所述管芯处理器在引导期间找到最后非擦除页面作为所述最后写入数据。
3.根据权利要求1所述的存储器系统,其中所述管芯处理器被配置为找到所述最后写入数据包括如果所述多个存储器通道中的每一个上的所述管芯处理器能够解译从所述多个存储器管芯读取的数据,则所述管芯处理器找到最后引导记录作为所述最后写入数据。
4.根据权利要求3所述的存储器系统,其中所述多个存储器通道中的每一个进一步包括用于引导加载程序映像的元件,所述引导加载程序映像包括访问所述最后引导记录的代码。
5.根据权利要求4所述的存储器系统,其进一步包括用于只读存储器映像即ROM映像的元件,所述ROM映像包括找到和执行用于所述多个存储器通道的引导加载程序映像的代码。
6.根据权利要求4所述的存储器系统,其进一步包括用于熔丝的元件,所述熔丝中的位定义所述多个存储器通道、管芯以及每个引导记录的存储器页面和块的数量。
7.一种存储器系统的操作方法,其包括:
提供多个存储器通道和包括联接到所述多个存储器通道的主处理器的存储器控制器,所述多个存储器通道中的每一个包括多个存储器管芯和管芯处理器,所述多个存储器管芯中的每一个包括多个存储块;
通过所述多个存储器通道上的所述管芯处理器并行地处理以在所述多个存储器管芯的至少一个预定块内找到最后写入数据,并且将关于所述最后写入数据的信息提供给所述主处理器;以及
通过所述主处理器基于所述信息确定哪个引导记录用于识别固件映像。
8.根据权利要求7所述的方法,其中处理以找到所述最后写入数据包括如果所述多个存储器通道中的每一个上的所述管芯处理器不能解译从所述多个存储器管芯读取的数据,则在引导期间找到最后非擦除页面作为所述最后写入数据。
9.根据权利要求7所述的方法,其中处理以找到所述最后写入数据包括如果所述多个存储器通道中的每一个上的所述管芯处理器能够解译从所述多个存储器管芯读取的数据,则找到最后引导记录作为所述最后写入数据。
10.根据权利要求9所述的方法,其中所述多个存储器通道中的每一个进一步包括用于引导加载程序映像的元件,所述引导加载程序映像包括访问所述最后引导记录的代码。
11.根据权利要求10所述的方法,其中所述存储器控制器进一步包括用于只读存储器映像即ROM映像的元件,所述ROM映像包括找到和执行用于所述多个存储器通道的引导加载程序映像的代码。
12.根据权利要求10所述的方法,其中所述存储器控制器进一步包括用于熔丝的元件,所述熔丝中的位定义所述多个存储器通道、管芯以及每个引导记录的存储器页面和块的数量。
13.一种存储器系统,其包括:
存储器装置,其包括多个存储器管芯和管芯处理器,所述多个存储器管芯中的每一个包括多个存储块;以及
存储器控制器,其包括联接到所述多个存储器装置的主处理器,
其中所述存储器装置上的所述管芯处理器被并行地配置为:
处理以在所述多个存储器管芯的至少一个预定块内找到最后写入数据;以及
将关于所述最后写入数据的信息提供给所述主处理器,所述主处理器基于所述信息确定哪个引导记录用于识别固件映像。
14.根据权利要求13所述的存储器系统,其中所述管芯处理器被配置为找到所述最后写入数据包括如果所述管芯处理器不能解译从所述多个存储器管芯读取的数据,则所述管芯处理器在引导期间找到最后非擦除页面作为所述最后写入数据。
15.根据权利要求13所述的存储器系统,其中所述管芯处理器被配置为找到所述最后写入数据包括如果所述管芯处理器能够解译从所述多个存储器管芯读取的数据,则所述管芯处理器找到最后引导记录作为所述最后写入数据。
16.根据权利要求15所述的存储器系统,其中所述存储器装置进一步包括用于引导加载程序映像的元件,所述引导加载程序映像包括访问所述最后引导记录的代码。
17.根据权利要求16所述的存储器系统,其进一步包括用于只读存储器映像即ROM映像的元件,所述ROM映像包括找到和执行用于所述存储器装置的引导加载程序映像的代码。
18.根据权利要求16所述的存储器系统,其进一步包括用于熔丝的元件,所述熔丝中的位定义多个存储器通道、管芯以及每个引导记录的存储器页面和块的数量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662354501P | 2016-06-24 | 2016-06-24 | |
US62/354,501 | 2016-06-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107544925A true CN107544925A (zh) | 2018-01-05 |
CN107544925B CN107544925B (zh) | 2020-05-08 |
Family
ID=60676943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710489511.8A Active CN107544925B (zh) | 2016-06-24 | 2017-06-24 | 存储器系统及加速引导时间的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10169289B2 (zh) |
CN (1) | CN107544925B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509154A (zh) * | 2018-03-31 | 2018-09-07 | 北京联想核芯科技有限公司 | 一种根据坏块分布动态时间raid分组的方法和装置 |
CN110989919A (zh) * | 2018-10-03 | 2020-04-10 | 爱思开海力士有限公司 | 用于存储器系统的日志记录机制 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763760B (zh) * | 2018-05-29 | 2022-03-22 | 西安微电子技术研究所 | 一种基于两级boot结构的系统级芯片 |
US11132303B2 (en) * | 2020-02-04 | 2021-09-28 | Micron Technology, Inc. | Memory sub-system management of firmware block record and device block record |
TWI749704B (zh) * | 2020-08-13 | 2021-12-11 | 群聯電子股份有限公司 | 韌體碼的執行方法、記憶體儲存裝置及記憶體控制電路單元 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101263455A (zh) * | 2005-09-15 | 2008-09-10 | 英特尔公司 | 利用固件辅助的加速功率状态恢复 |
CN101650662A (zh) * | 2009-08-26 | 2010-02-17 | 中兴通讯股份有限公司 | 一种嵌入式系统的存储器件、固件启动及升级方法 |
US20130138934A1 (en) * | 2011-11-29 | 2013-05-30 | International Business Machines Corporation | Loading configuration information |
CN104871174A (zh) * | 2012-12-14 | 2015-08-26 | 国际商业机器公司 | 用于“自带”管理的引导机制 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2003569B1 (en) * | 2006-03-13 | 2010-06-02 | Panasonic Corporation | Flash memory controller |
US8954721B2 (en) | 2011-12-08 | 2015-02-10 | International Business Machines Corporation | Multi-chip initialization using a parallel firmware boot process |
US8700961B2 (en) * | 2011-12-20 | 2014-04-15 | Sandisk Technologies Inc. | Controller and method for virtual LUN assignment for improved memory bank mapping |
US8990549B2 (en) * | 2012-07-12 | 2015-03-24 | Freescale Semiconductor, Inc. | Method and system for booting electronic device from NAND flash memory |
TWI494849B (zh) * | 2013-05-06 | 2015-08-01 | Phison Electronics Corp | 韌體碼載入方法、記憶體控制器與記憶體儲存裝置 |
IN2014MU00845A (zh) * | 2014-03-13 | 2015-09-25 | Sandisk Technologies Inc |
-
2017
- 2017-06-24 CN CN201710489511.8A patent/CN107544925B/zh active Active
- 2017-06-26 US US15/633,275 patent/US10169289B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101263455A (zh) * | 2005-09-15 | 2008-09-10 | 英特尔公司 | 利用固件辅助的加速功率状态恢复 |
CN101650662A (zh) * | 2009-08-26 | 2010-02-17 | 中兴通讯股份有限公司 | 一种嵌入式系统的存储器件、固件启动及升级方法 |
US20130138934A1 (en) * | 2011-11-29 | 2013-05-30 | International Business Machines Corporation | Loading configuration information |
CN104871174A (zh) * | 2012-12-14 | 2015-08-26 | 国际商业机器公司 | 用于“自带”管理的引导机制 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509154A (zh) * | 2018-03-31 | 2018-09-07 | 北京联想核芯科技有限公司 | 一种根据坏块分布动态时间raid分组的方法和装置 |
CN110989919A (zh) * | 2018-10-03 | 2020-04-10 | 爱思开海力士有限公司 | 用于存储器系统的日志记录机制 |
CN110989919B (zh) * | 2018-10-03 | 2023-06-27 | 爱思开海力士有限公司 | 用于存储器系统的日志记录机制 |
Also Published As
Publication number | Publication date |
---|---|
US10169289B2 (en) | 2019-01-01 |
CN107544925B (zh) | 2020-05-08 |
US20170371834A1 (en) | 2017-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10180805B2 (en) | Memory system and operating method thereof | |
US11163679B2 (en) | Garbage collection strategy for memory system and method of executing such garbage collection | |
US10108472B2 (en) | Adaptive read disturb reclaim policy | |
US10102146B2 (en) | Memory system and operating method for improving rebuild efficiency | |
US10403369B2 (en) | Memory system with file level secure erase and operating method thereof | |
US10997017B2 (en) | Neighbor assisted correction error recovery for memory system and method thereof | |
US10847231B2 (en) | Memory system with adaptive read-threshold scheme and method of operating such memory system | |
CN106095699B (zh) | 用于快闪存储器的可扩展spor算法 | |
CN107544925A (zh) | 存储器系统及加速引导时间的方法 | |
US9442797B2 (en) | Memory system | |
US11551766B2 (en) | Memory device and operating method thereof | |
US11036627B2 (en) | Self-management memory system and operating method thereof | |
US20190369880A1 (en) | Memory system and operating method thereof | |
CN107977283A (zh) | 具有ldpc解码器的存储器系统及其操作方法 | |
US11367488B2 (en) | Memory system and method for read operation based on grouping of word lines | |
CN107728932A (zh) | 存储器系统及其操作方法 | |
US11538547B2 (en) | Systems and methods for read error recovery | |
US10938419B2 (en) | Encoding method and system for memory device including QLC cells | |
US20170329709A1 (en) | Memory system having multiple cache pages and operating method thereof | |
US11204839B2 (en) | Memory system with low-latency read recovery and method of operating the memory system | |
US11675522B2 (en) | Memory system and operating method thereof | |
CN110047554B (zh) | 具有超级芯片删除恢复的存储器系统及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |