CN113841128A - 大型数据读取技术 - Google Patents
大型数据读取技术 Download PDFInfo
- Publication number
- CN113841128A CN113841128A CN202080034873.8A CN202080034873A CN113841128A CN 113841128 A CN113841128 A CN 113841128A CN 202080034873 A CN202080034873 A CN 202080034873A CN 113841128 A CN113841128 A CN 113841128A
- Authority
- CN
- China
- Prior art keywords
- read
- memory
- data
- bytes
- configuration
- 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
Images
Classifications
-
- 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
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/061—Improving I/O performance
-
- 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/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- 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
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本文中公开了用于在主机与存储系统之间更有效地交换大量数据的装置和技术。在实例中,大型读取操作可包含在存储系统处接收预取命令、参数列表和读取命令。在某些实例中,所述预取命令可提供所述参数列表的长度的指示,且所述参数列表可提供所述读取命令可从其感测读取数据的所述存储系统的位置标识符。
Description
优先权要求和相关申请
本申请要求2019年4月8日申请的序列号为62/830,935的美国临时专利申请,和2019年6月13日申请的序列号为62/861,144的美国临时专利申请,和2019年9月9日申请的序列号为16/565,021的美国申请以及2019年10月3日申请的序列号为16/592,500的美国申请的优先权益,所有这些申请在此以全文引用的方式并入本文中。
技术领域
本公开的实例大体上涉及电子系统,且更确切地说,涉及用于存取电子系统的存储器的技术。
背景技术
存储器装置通常提供为计算机或其它电子装置中的内部电路、半导体电路、集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器需要电力来维持其数据,且包含各种形式的随机存取存储器(RAM),例如动态随机存取存储器(DRAM)或同步动态随机存取存储器(SDRAM)等等。当不供电时非易失性存储器可保留所存储的数据(在一些情况下可实施为只读存储器(ROM)),且可包含一或多种存储技术,例如快闪存储器(例如,NAND或NOR快闪)、电可擦除可编程ROM(EEPROM)、静态RAM(SRAM)、铁电RAM(FeRAM)、可擦除可编程ROM(EPROM)、电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻随机存取存储器(RRAM)、磁阻随机存取存储器(MRAM),或3D XPointTM存储器等等。并入存储器的系统可包含实施多种存储技术的多个存储器装置或存储器系统。
快闪存储器用作广泛范围的电子应用的非易失性存储器。快闪存储器装置通常包含允许高存储器密度、高可靠性和低功耗的单晶体管、浮动栅极或电荷阱存储器单元的一或多个群组。两种常见类型的快闪存储器阵列架构包含NAND和NOR架构,所述架构以每一者的基本存储器单元配置所布置的逻辑形式来命名。存储器阵列的存储器单元通常布置成矩阵。在实例中,阵列的一行中的每一浮动栅极存储器单元的栅极耦合到存取线(例如,字线)。在NOR架构中,阵列的一列中的每一存储器单元的漏极耦合到数据线(例如,位线)。在NAND架构中,阵列的串中的每一存储器单元的漏极在源极线与位线之间以源极到漏极方式串联耦合在一起。
电子装置的存储器或存储系统可影响多个性能度量,所述性能度量可使用户在选择一个电子装置还是竞争对手的电子装置之间摇摆。数据存储和检索延迟是两个此类度量。例如快闪存储器的一些存储器或存储系统可限制可经由例如读取命令或写入命令的某些命令交换的数据量。举例来说,存储系统的原子单元通常是可受单个读取命令影响的数据的限制。在某些装置中,响应于例如读取命令而使用单个原子单元数据传送可有效地处理高达约70%的读取请求。存在更有效地处理其它30%或更多的读取请求的至少一部分的机会。
附图说明
在不一定按比例绘制的附图中,相似标号可在不同视图中描述类似组件。具有不同字母后缀的相似标号可表示类似组件的不同实例。附图通过举例而非限制的方式大体上说明本文件中所论述的各种实施例。
图1说明包含可在其上实施本发明主题的一或多个实例的存储器装置的实例系统环境。
图2大体上说明用于在存储装置处执行读取命令的实例方法的流程图。
图3A和3B大体上说明根据本发明主题的实例命令结构。
图4A到4C大体上说明根据本发明主题的替代命令结构。
图5以图形方式说明根据本发明主题的用于操作主机和存储装置的实例方法。
图6大体上说明用于在存储装置处执行读取命令的实例方法。
图7说明本文中所论述的技术(例如,方法)中的任何一或多个可在其上执行的实例机器的框图。
具体实施方式
例如但不限于NAND存储器的存储系统可使用逻辑到物理映射(L2P)表来将主机装置的逻辑地址(通常称为逻辑块地址(LBA))转换为存储系统的对应存储器地址或物理地址(PA)。在快闪存储系统中,L2P表也可称为快闪转换层(FTL)。LBA可以是主机用来管理数据的逻辑地址。移动存储装置通常具有大小受约束的高速缓存,且因此通常缺少存储器来存储整个映射表。因此,可按需求从快闪存储器检索映射表的部分,这可导致随机读取性能下降。
在某些实例中,除耦合到主机的存储器装置的存储器单元之外,本文中所描述的技术可任选地启用主机常驻存储器作为L2P映射表的高速缓存的用途。在主机常驻L2P下,从主机存储器读取L2P数据的速度比从快闪存储器读取L2P数据的速度快,且主机可通过检索快闪存储器的物理地址(PA)且将PA包含在对快闪存储器的存储器请求中来起始存储器操作。可由主机使用主机的L2P存储器高速缓存和主机的LBA来检索PA。在接收到存储器请求后,快闪存储器系统可立即检索与物理地址相关联的数据,而无与存取基于快闪存储器的映射表和使用LBA来获得物理地址相关联的延迟。
在主机常驻L2P的某些实施方案中,随机读取工作负荷性能的改进可为显著的。然而,加速读取能力的改进可能受限于主机/存储系统的单个原子卡盘,这是因为许多存储装置不具有便于相关数据的文件或其它集合的处理能力。举例来说,当主机命令将数据存储在存储装置中时,主机可提供具有逻辑块地址和数据量的写入命令。包含但不限于采用基于主机的FTL系统的快闪存储装置的常规存储装置以原子单元存储数据量。因此,作为实例而非作为限制,对于具有4k的原子单元的系统,配置成存储64k的数据的写入命令将导致所述数据的16个4k卡盘个别地存储在存储装置的存储器上。类似地,单个读取命令可感测和传送常规快闪存储系统中的单个原子单元的数据。因而,对于给定主机文件,存储在存储装置上的数据可不依序编程到存储装置的存储器中。因此,即使使用基于主机的FTL能力,当主机希望读取大文件时,针对主机的大文件的数据的每一原子卡盘,将各自具有LBA或物理地址的多个个别读取命令提供到存储装置。本发明人已认识到进一步改进主机与存储装置之间的数据交换的技术,其中数据大于系统的原子大小且可有益于整体性能。
存储器装置包含个别存储器裸片,所述存储器裸片可例如包含包含存储区,所述存储区包括一或多个存储器单元阵列,从而实施一种(或多种)所选存储技术。此类存储器裸片将通常包含用于操作存储器阵列的支持电路系统。有时通常称为“受管理存储器装置”的其它实例包含与配置成控制一或多个存储器裸片的操作的控制器功能性相关联的一或多个存储器裸片的组合件。此类控制器功能性可简化与外部装置的互操作性,所述外部装置例如是如本文稍后所论述的“主机”。在此类受管理存储器装置中,控制器功能性可在也并入存储器阵列的一或多个裸片上或在单独的裸片上实施。在其它实例中,一或多个存储器装置可与控制器功能性组合以形成固态驱动器(SSD)存储卷。术语“存储器系统”在本文中使用为包含一或多个存储器裸片和用于此类存储器裸片的任何控制器功能性(当存在时);且因此包含个别存储器装置、受管理存储器装置和SSD。
在实施NAND快闪存储器单元的受管理存储器装置(称为“受管理NAND”装置)的实例中描述本公开的实施例。然而,这些实例不限于本公开的范围,本公开的范围可以其它形式的存储器装置和/或用其它形式的存储技术来实施。
NOR和NAND快闪架构半导体存储器阵列均通过解码器存取,所述解码器通过选择耦合到特定存储器单元的栅极的字线来激活所述特定存储器单元。在NOR架构半导体存储器阵列中,一旦被激活,所选存储器单元就将其数据值置于位线上,从而取决于特定单元编程的状态而使不同电流流动。在NAND架构半导体存储器阵列中,将较高偏压电压施加到漏极侧选择栅极(SGD)线。以指定传递电压(例如,Vpass)驱动耦合到每一群组的未选存储器单元的栅极的字线,以使每一群组的未选存储器单元作为传递晶体管操作(例如,以不受其所存储的数据值限制的方式传递电流)。电流随后通过每一串联耦合的群组从源极线流动到位线,仅受每一群组中的所选存储器单元限制,从而将所选存储器单元的当前编码数据值置于位线上。
NOR或NAND架构半导体存储器阵列中的每一快闪存储器单元可个别地或共同地编程为一个或多个经编程状态。举例来说,单层级单元(SLC)可表示两个经编程状态(例如,1或0)中的一个,从而表示一位数据。快闪存储器单元也可表示多于两个经编程状态,从而允许制造较高密度的存储器而不增加存储器单元的数目,因为每一单元可表示多于一个二进制数字(例如,多于一个位)。此类单元可称为多状态存储器单元、多数字单元或多层级单元(MLC)。在某些实例中,MLC可指每单元可存储两位数据(例如,四个经编程状态中的一个)的存储器单元,三层级单元(TLC)可指每单元可存储三位数据(例如,八个经编程状态中的一个)的存储器单元,且四层级单元(QLC)每单元可存储四位数据。MLC在本文中在其更广泛的上下文中用于指代每单元可存储多于一位数据(即,可表示多于两个经编程状态)的任何存储器单元。
可根据公认的行业标准来配置和操作受管理存储器装置。举例来说,受管理NAND装置可为(作为非限制性实例)通用快闪存储(UFSTM)装置或嵌入式MMC装置(eMMCTM)等。举例来说,在以上实例的情况下,可根据标题为“JEDEC UFS快闪存储3.0(JEDEC UFS FlashStorage 3.0)”的联合电子装置工程委员会(JEDEC)标准(例如,JEDEC标准JESD223D)和/或此类标准的更新或后续版本来配置UFS装置。类似地,可根据标题为“JEDEC eMMC标准5.1(JEDEC eMMC standard 5.1)”的JEDEC标准JESD84-A51和/或此类标准的更新或后续版本来配置所标识的eMMC装置。受管理NAND装置可用作各种形式的电子装置中的主存储器或辅助存储器,且常用于移动装置中。
SSD尤其可用作计算机的主存储装置,其在例如性能、大小、重量、强度、操作温度范围和功率消耗方面具有优于具有移动部件的传统硬盘驱动器的优点。举例来说,SSD可具有减少的寻道时间、时延或与磁盘驱动器(例如,机电等)相关联的其它延迟。SSD使用例如快闪存储器单元的非易失性存储器单元来避免内部电池供电要求,因此允许驱动器更加多功能且紧凑。
SSD和受管理存储器装置均可包含含有多个裸片或逻辑单元(例如,逻辑单元号或LUN)的多个存储器装置,且可包含用以执行操作存储器装置或与外部系统介接所需的逻辑功能的一或多个处理器或其它控制器。此类SSD和受管理存储器装置可包含一或多个快闪存储器裸片,其上包含多个存储器阵列和外围电路系统。快闪存储器阵列可包含组织成多个物理页的多个存储器单元块。在一些实例中,SSD还可包含DRAM或SRAM(或其它形式的存储器裸片或其它存储器结构)。类似地,受管理NAND装置可包含与NAND存储阵列分离且在控制器内或与控制器分离的易失性和/或非易失性存储器的一或多个阵列。SSD和受管理NAND装置均可从主机接收与存储器操作相关联的命令,所述存储器操作例如在存储器装置与主机之间传送数据(例如,用户数据和相关联的完整性数据,例如错误数据和地址数据等)的读取或写入操作,或从存储器装置中擦除数据的擦除操作。
图1说明包含配置成经由通信接口通信的主机105及存储器装置110的环境100的实例。主机105或存储器装置110可包含在多种产品150中,例如用以支持产品150的处理、通信或控制的IoT装置(例如,制冷机或其它电器、传感器、马达或致动器、移动通信装置、汽车、移动电话、无人机等)。
存储器装置110包含存储器控制器115和存储器阵列120,所述存储器阵列包含例如一或多个个别存储器裸片(例如,三维(3D)NAND裸片的堆叠)。在3D架构半导体存储器技术中,竖直结构堆叠于多个层次中,且耦合以形成物理页,从而增大存储器装置(例如,存储装置)在给定占据面积(即外观尺寸)中的存储密度。在实例中,存储器装置110可以是离散存储器装置。在某些实例中,存储器阵列120的一或多个存储器裸片可包含用于映射具有快闪存储器的物理地址的主机的逻辑块地址的第一完整L2P表161。
一或多个通信接口111可用于在存储器装置110与主机105的一或多个其它组件之间传送数据,例如串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、UFS接口、eMMCTM接口,或一或多个其它连接器或接口。主机105可包含主机系统、电子装置、处理器、存储卡读卡器或在存储器装置110外部的一或多个其它电子装置。在一些实例中,主机105可以是具有参考图4的机器400论述的组件的某一部分或全部的机器。数据可经由输入/输出(I/O)总线在存储器装置110与其它组件之间传送,所述输入/输出总线可包含在传送数据时(例如,在从存储器阵列读取或写入到存储器阵列之前)用于暂时地存储数据的一或多个锁存器。
存储器控制器115可从主机105接收指令,且可与存储器阵列通信,以便将数据传送(例如,写入或擦除)到存储器阵列的存储器单元、平面、子块、块或页中的一或多个或从存储器阵列的存储器单元、平面、子块、块或页中的一或多个传送(例如,读取)数据。存储器控制器115尤其可包含电路系统或固件,包含一或多个组件或集成电路。举例来说,存储器控制器115可包含配置成控制存储器阵列120上的存取且在主机105与存储器装置110之间提供转换层的一或多个存储器控制单元、电路、控制电路系统或组件。存储器控制器115可包含用以将数据传送到存储器阵列120或从存储器阵列120传送数据的一或多个I/O电路(和对应锁存器)、高速缓存、线或接口。存储器控制器115可包含存储器管理器125和阵列控制器135。
阵列控制器135尤其可包含配置成控制与以下操作相关联的存储器操作的电路系统或组件:向耦合到存储器控制器115的存储器装置110的一或多个存储器单元写入数据、从所述存储器单元读取数据或擦除所述存储器单元。存储器操作可基于例如从主机105接收到或由存储器管理器125在内部生成的主机命令(例如,与耗损均衡、错误检测或校正等相关联)。
阵列控制器135可包含错误校正码(ECC)组件140,所述ECC组件140尤其可包含ECC引擎或配置成检测或校正与向耦合到存储器控制器115的存储器装置110的一或多个存储器单元写入数据或从中读取数据相关联的错误的其它电路系统。ECC组件140例如可检测或计算与执行多个存储器操作相关联的误码率(BER)。BER可对应于I/O总线的锁存器中出现的位错误、存储器控制器115的内部错误、NAND阵列中的一或多个或存储器装置110的多层级单元(MLC)中的任何一或多个中出现的错误。存储器控制器115可配置成有效地检测与各种操作或数据存储相关联的错误出现(例如,位错误、操作错误、崩溃状况、停顿、挂断等)且从所述错误出现中恢复,同时维持在主机105与存储器装置110之间传送的数据的完整性,或维持所存储数据的完整性(例如,使用冗余RAID存储等),且可去除(例如,引退)发生故障的存储器资源(例如,存储器单元、存储器阵列、页、块等)以防止未来错误。阵列控制器135可将检测到的BER信息传输到存储器管理器125以用于存储和跟踪。存储器控制器115可包含跟踪从主机接收到的存储器命令的命令队列(未展示)。队列中的命令可由存储器控制器115以先进先出(FIFO)方式,堆栈方式,失序方式,根据优先级或以任何其它合适的次序来执行。
在某些实例中,存储器装置110可任选地包含与存储器阵列120相关联的密码学电路系统160。在某些实例中,密码学电路系统160可包含加密电路、解密电路或其组合。在一些实施方案中,存储器装置110的存储器控制器115可包含配置成实施密码学电路160的功能的控制电路系统。在其它实施方案中,密码学电路160可包含用于实施所描述的功能性的独立控制电路系统。在又其它实施方案中,控制电路系统可在密码学电路160与存储器控制器115之间划分,以实施密码学电路160的所描述的功能。在所描绘的实例中,阵列控制器135形成存储器控制器115的一部分,且密码学电路160形成阵列控制器的一部分。在其它实施方案中,密码学电路160可在阵列控制器135外部和/或之外。举例来说,密码学电路160(或其任何个别组件)可以是耦合到环境100中的一或多个组件的独立组件。无论如何物理地定位,提供密码学电路160的额外功能性的结构用以验证由主机105提供的物理地址,以防止对存储器装置的错误或恶意存取,且为主机提供刷新主机常驻映射表信息的机会,以在环境100的主机常驻FTL操作期间将映射信息与存储器装置的映射信息对准。
存储器管理器125尤其可包含电路系统或固件,例如与各种存储器管理功能相关联的多个组件或集成电路。出于本发明描述的目的,将在NAND存储器的情形下描述实例存储器操作和管理功能。本领域的技术人员将认识到,其它形式的非易失性存储器可具有类似的存储器操作或管理功能。此类NAND管理功能包含耗损均衡(例如,垃圾收集或回收)、错误检测(例如,BER监控)或校正、块引退或一或多个其它存储器管理功能。存储器管理器125可将主机命令(例如,从主机接收到的命令)解析或格式化为装置命令(例如,与存储器阵列的操作相关联的命令等),或生成用于阵列控制器135或存储器装置110的一或多个其它组件的装置命令(例如,以实现各种存储器管理功能)。
存储器阵列120可包含布置在例如多个装置、平面、子块、块或页中的多个存储器单元。作为一个实例,48GB TLC NAND存储器装置可包含每页18,592字节的数据(16,384+2208字节)、每块1536页、每平面548个块和每装置4个或更多个平面。作为另一实例,32GBMLC存储器装置(每单元存储两位数据(即,4个可编程状态))可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1024页、每平面548个块和每装置4个平面,但与对应TLC存储器装置相比所需的写入时间为一半且编程/擦除(P/E)循环为两倍。其它实例可包含其它数目或布置。在一些实例中,存储器装置或其部分可在SLC模式中或在所需MLC模式(例如TLC、QLC等)中选择性操作。
在操作中,数据通常以页写入到存储器装置110或从所述存储器装置110读取,且以块擦除。然而,可视需要对存储器单元的更大或更小群组执行一或多个存储器操作(例如,读取、写入、擦除等)。存储器装置110的数据传送大小通常称为页,而主机的数据传送大小通常称为扇区。
不同类型的存储器单元或存储器阵列120可提供不同页大小,或可能需要与其相关联的不同量的元数据。举例来说,不同存储器装置类型可具有不同位错误率,这可导致必需要不同量的元数据来确保数据页的完整性(例如,具有较高位错误率的存储器装置可要求比具有较低位错误率的存储器装置更多字节的错误校正码数据)。作为实例,MLC NAND快闪装置可具有比对应单层级单元(SLC)NAND快闪装置更高的位错误率。因此,MLC装置可需要比对应SLC装置更多的用于错误数据的元数据字节。
在某些实例中,主机可包含第二存储器111。第二存储器111不是快闪型存储器装置。在某些实例中,第二存储器111可用于存储和维持一组管理表130。管理表可包含与存储器装置110的一或多个组件相关联的各种信息(例如,与存储器阵列或耦合到存储器控制器115的一或多个存储器单元相关联的各种信息,且可包含FTL表)。举例来说,管理表130可包含关于耦合到存储器控制器115的一或多个存储器单元块的FTL映射信息、块使用期(blockage)、块擦除计数、错误历史、错误参数信息、主机复位超时值、存储器操作命令时延或一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果针对错误计数中的一或多个(例如,错误参数)检测到的错误的数目高于阈值(例如,可允许的错误阈值),则位错误可称为不可校正位错误。管理表130尤其可维持可校正或不可校正位错误的计数。
在某些实例中,第二存储器可包含用于映射具有快闪存储器的物理地址的主机的逻辑块地址的第二完整FTL表162。在一些实例中,环境100可包含第一完整FTL表162或第二完整FTL表162中的仅一个。
如上文所论述,本发明人已认识到,用于常规的基于原子的存储器系统的当前加速读取技术仅对单个原子块起作用。举例来说,常规的基于原子的存储器系统,包含实施基于主机的FTL的那些系统,为每一原子数据块供应单独LBA或PA。当原子单元相当小(例如,4k)时,对于大的顺序读取(例如,对于移动设备高达512KB=128LBA,对于其它工作负荷更大),此类冗长且重复的技术可能会引入大量时延和功率使用。
图2大体上说明根据本发明主题的从存储装置读取数据的实例方法200的流程图。在201处,可任选地向主机提供存储装置的映射信息。在一些实例中,映射信息可允许主机至少初始地确定数据存储在存储装置的存储器上的何处。在某些实例中,映射信息的部分,例如存储装置的存储器的物理地址,可经加密以防止恶意信息存储在存储装置上。在203处,可在存储装置处接收读取命令。读取命令可包含读取信息。在某些实例中,读取信息可包含主机的LBA。在一些实例中,读取信息可包含存储装置的存储器的PA。在某些实例中,读取信息可包含读取类型旗标。在一些实例中,读取信息不包含读取类型旗标。在某些实例中,读取类型旗标是二进制类型旗标或位。在205处,可确定读取类型旗标的存在或读取类型旗标在第一状态中的存在。
在207处,如果读取数据不包含读取类型旗标或读取类型旗标不处于第一状态,那么可感测与读取命令相关联的单个原子单元的读取数据且将其传送到主机以完成读取命令的执行。在一些实例中,读取信息内的LBA或PA可用于确定存储装置的存储器内的读取数据的位置。在一些实例中,L2P表可用于标识存储装置上的数据的存储器位置的物理地址。在一些实例中,可解密加密PA以标识读取数据在存储装置的存储器内的位置。
在209处,当读取信息包含读取类型旗标且读取类型旗标处于第一状态时,存储装置可从主机接收参数列表。在某些实例中,读取信息可指示参数列表的大小,且参数列表可包含存储装置的存储器内用于检索所请求的读取数据的位置。尽管仍可经由系统的数据的原子大小进行感测和传送,但单个读取命令可起始多个原子数据块从存储系统到主机的多个读取传送,因此消除与主机针对读取数据的每一个别原子卡盘发出读取命令相关联的开销。
图3A说明根据本发明主题的读取命令的一个实例形式。图3A的实例说明用于快闪存储装置的实例读取命令,但本发明主题的范围不限于此。命令格式可包含用以指示命令的类型(例如,读取、写入、取消映射、验证等)的操作或命令代码、位置标识符、数据传送长度、经保留以供未来使用的一或多个任选的额外字节或其它命令,以及结束命令字节或代码。对于快闪存储器,一些读取命令可少至五个字节或高达16个字节或更多。在某些实例中,额外字节的一或多个位可用作上文所论述的读取类型旗标。位置标识符可包含主机的LBA、存储系统的存储器的PA或存储系统的存储器的加密PA,且可标识用以从其检索读取数据的存储装置的存储器的至少一个位置。对于常规的读取命令,数据传送长度可由与第一位置标识符相关联的第二位置标识符替换。举例来说,第一位置标识符可包含LBA,且第二位置标识符可包含对应的PA或对应的PA的表示。当读取类型旗标不存在或不处于第一状态时,图3A的读取命令是自含式的,且形成完整的读取命令。
当读取类型旗标处于第一状态时,数据传送长度指示例如待读取的连续LBA的数目,且额外字节的一或多个字节可指示与读取命令相关联的参数列表的长度。参数列表可包含与读取命令的PA中的每一个相关联的PA。在某些实例中,在存储装置处接收到读取命令之后可立即在存储装置处接收到相关联的参数列表。
图3B说明根据本发明主题的参数列表的一个实例形式。参数列表可包含用于检索除读取命令的位置标识符处的读取数据之外的或与所述读取数据相关联的额外读取数据的一或多个位置标识符。位置标识符可包含主机的LBA、存储系统的存储器的PA或存储系统的存储器的加密PA,且可标识用以从其检索读取数据的存储装置的存储器的至少一或多个位置。在某些实例中,参数列表的位置标识符中的一个可与图3A的读取命令的位置标识符匹配或对应,以验证无论读取命令是否与参数列表一起接收,参数列表都与读取命令相关联。在此类实例中,如果参数列表不包含匹配的位置标识符,那么可忽略参数列表,或可产生错误旗标且任选地将其传递到主机。
图4A到4C大体上说明根据本发明主题的替代命令结构。图4A说明根据本发明主题的实例预取命令的形式。命令格式可包含用以向存储装置指示命令是预取命令的操作或命令代码、位置标识符、数据传送长度、后续参数列表的长度和结束命令字节或代码。对于快闪存储器,一些读取命令可少至五个字节或高达16个字节或更多。位置标识符可包含主机的LBA、存储系统的存储器的PA或存储系统的存储器的加密PA,且可标识用以从其检索读取数据的存储装置的存储器的至少一个位置。一般来说,预取命令用以准备用于从主机接收后续参数列表和读取命令的存储装置。在一些实例中,位置标识符可指示存储装置可从主机感测读取数据且将读取数据传送到主机的第一读取位置。传送长度指示待从存储装置读取到主机的数据量。参数列表长度可指示待接收的且与接收预取命令相关联的位置标识符的数目。在某些实例中,存储装置可使用参数列表长度来跟踪对应参数列表的接收。
图4B说明根据本发明主题的参数列表的一个实例形式。参数列表可包含用于检索除预取命令的位置标识符处的读取数据之外的或与所述读取数据相关联的额外读取数据的一或多个位置标识符。参数列表的位置标识符可包含主机的LBA、存储系统的存储器的PA或存储系统的存储器的加密PA。位置标识符可标识用以从其检索读取数据的存储装置的存储器的至少一或多个位置。在某些实例中,参数列表的位置标识符中的一个可与图4A的预取命令的位置标识符匹配或对应,以验证无论预取命令是否与参数列表一起接收,参数列表都与预取命令相关联。在此类实例中,如果参数列表不包含匹配的位置标识符,那么可忽略参数列表,或可产生错误旗标且任选地将其传递到主机。
图4C说明与图4A的预取命令格式相关联的实例读取命令格式。图4A的读取命令格式可包含命令代码,例如读取命令代码(例如,F8)、第一位置标识符、第二位置标识符、传送长度和结束命令字节或代码。图4C的所说明的读取命令格式可用以起始常规快闪存储器读取操作,或当遵循如图4A中所说明的预取命令时,可用以起始用于从存储装置读取大量读取数据且将其传送到主机的更有效的读取操作。举例来说,如果如图4B中所说明的经格式化的读取命令遵循预取命令,且读取命令的多个字段与预取命令的某些字段匹配,那么存储系统可开始感测和传送与位置标识符和参数列表相关联的读取数据,而几乎没有对主机的干预。快闪存储系统的常规读取操作限于每一读取命令的基本单元(例如,4k),且因此来自存储装置的大数据读取包含更多开销资源和协调大型读取数据操作的时间。
在某些实例中,当第一位置标识符与预取命令的位置标识符匹配,读取命令的传送长度与预取命令的传送长度匹配或其组合时,读取命令可起始大型读取操作。在某些实例中,当读取命令的传送长度大于一或大于系统的单个基本单元(例如,4k)时,可忽略第二位置标识符。在一些实例中,当传送长度等于1或系统的单个基本单元时,读取命令起始常规读取操作且可使用第二位置标识符来定位或验证所请求的读取数据在存储系统上的位置。
图5以图形方式说明根据本发明主题的用于操作主机和存储装置的实例方法500。可由主机在将预取命令550传输到存储系统时起始大型读取操作。存储系统可任选地确认预取命令551。主机可遵循具有参数列表552的预取命令。存储系统可任选地确认参数列表。预取命令和参数列表可向存储系统提供主机正在请求的数据的位置和量。存储系统可预期已从主机接收到或将从主机接收到具有至少一个对应位置或匹配传送长度的读取命令。在从主机接收到此类读取命令553后,存储系统可在块554的连续流中发送所请求的数据,而对主机的部分极少或没有干预。在某些实例中,可严格地规定预取命令、参数列表和对应读取命令的顺序。在一些实例中,在存储系统处接收预取命令、参数列表和读取命令可以是有时间限制的,使得如果在接收到命令或列表中的第一个后没有接收到命令或列表中的一或多个,那么忽略大型读取操作的潜在执行。在一些实例中,所忽略的大型读取操作可从存储系统起始错误指示。
图6大体上说明用于在存储装置处执行读取操作的实例方法。在601处,在某些实例中,可从存储系统向主机提供L2P表。在603处,可在存储系统处接收第一存储器存取命令。如果在605处第一存储器存取命令不是预取命令,或在607处不是读取命令,那么可在631处经由超出本申请的范围的方法处理命令。在607处,如果第一存储器存取命令是读取命令,那么存储器系统可在609处以常规方式执行读取命令。在某些实例中,如果第一存储器存取命令是读取命令且包含在读取命令内的传送长度大于1或大于系统的单个基本单元,那么存储系统可指示错误。
如果在605处第一存储器存取命令是预取命令,那么存储系统可在611处从主机接收具有读取数据的位置标识符的参数列表。位置标识符可以是主机的逻辑块地址、存储装置的物理地址或其组合和表示。在613处,存储系统可接收第二存储器存取命令。如果在615处,第二存储器存取命令不是读取命令,那么存储器系统可在617处产生命令错误指示。在某些实例中,在产生命令错误指示后,存储系统可例如在631处以常规方式处理第二存储器存取命令。
如果在615处,第二存储器存取命令是读取命令,那么存储系统可在619处从由参数列表的位置标识符指示的位置感测所请求的读取数据且将其传输到主机,其中与常规读取命令相比,来自主机的干预极少或没有干预。在某些实例中,读取命令的额外验证可要求读取命令的位置标识符与预取命令的位置标识符匹配。在一些实例中,读取命令的额外验证可要求读取命令的传送长度与预取命令的传送长度匹配。在一些实例中,读取命令的额外验证可要求读取命令的位置标识符与预取命令的位置标识符匹配,且读取命令的传送长度与预取命令的传送长度匹配。
图7说明实例机器700的框图,上文参考图1、2、3A到3B、4A到4C、5和6所论述的技术(例如,方法)中的任何一或多个可在所述实例机器700上执行。在替代实施例中,机器700可作为独立装置操作或可连接(例如,联网)到其它机器。在联网部署中,机器700可在服务器-客户端网络环境中以服务器机器、客户端机器或这两者的能力操作。在实例中,机器700可充当对等(P2P)(或其它分布式)网络环境中的对等机器。机器700可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器具、IoT装置、汽车系统,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令的任何机器。此外,虽然仅说明单个机器,但术语“机器”也应被视为包含个别地或共同地执行指令集(或多个集合)以执行本文中所论述的方法中的任何一或多个(例如,云计算、软件即服务(SaaS)、其它计算机集群配置)的任何机器集合。
如本文中所描述,实例可包含逻辑、组件、装置、封装或机制,或者可通过逻辑、组件、装置、封装或机制来操作。电路系统是在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路总集(例如,集合)。电路系统成员可随时间推移和基础硬件变化而为灵活的。电路系统包含在操作时可单独或组合地执行特定任务的部件。在实例中,电路系统的硬件可不可变地设计成执行特定操作(例如,硬连线)。在实例中,电路系统的硬件可包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),所述物理组件包含以物理方式修改(例如,不变集结式粒子的磁性、电气可移动放置等)以对特定操作的指令进行编码的计算机可读介质。在连接物理组件时,硬件构成的基础电特性例如从绝缘体改变成导体或反之亦然。指令使得参与的硬件(例如,执行单元或加载机制)能够经由可变连接产生硬件中的电路系统的部件以当在操作中时实行特定任务的部分。因此,当装置操作时,计算机可读介质以通信方式耦合到电路系统的其它组件。在实例中,物理组件中的任一个可用于多于一个电路系统中的多于一个部件中。举例来说,在操作下,执行单元可在一个时间点用于第一电路系统的第一电路,且由第一电路系统中的第二电路重新使用,或在不同时间由第二电路系统中的第三电路重新使用。
机器(例如,计算机系统)700(例如,主机105、存储器装置110等)可包含处理装置702(例如,硬件处理器、中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,例如存储器装置110的存储器控制器等)、主存储器704(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器706(例如,快闪存储器、静态随机存取存储器(SRAM)等)以及数据存储系统718,其中的一些或全部可经由互连链路(interlink)(例如,总线)730彼此通信。
处理装置702可表示一或多个通用处理装置,例如微处理器、中央处理单元等。更确切地说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置702也可以是一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置702可配置成执行用于执行本文中所论述的操作和步骤的指令726。计算机系统700可进一步包含网络接口装置708以经由网络720通信。
数据存储系统718可包含机器可读存储介质724(也称为计算机可读介质),其上存储有一或多个指令726的集合或体现本文中所描述的方法或功能中的任何一或多个的软件。指令726还可在其由计算机系统700执行期间完全或至少部分地驻留在主存储器704或处理装置702内,主存储器704和处理装置702也构成机器可读存储介质。机器可读存储介质724、数据存储系统718或主存储器704可对应于图1的存储器装置110。
在一个实施方案中,指令726包含用以实施对应于上文相对于图2、图3A到3B、图4A到4C、图5和图6所论述的一或多个任选的大型数据读取操作的功能性的指令。虽然在实例实施方案中将机器可读存储介质724展示为单个介质,但术语“机器可读存储介质”应被认为包含存储一或多个指令集的单个介质或多个介质。术语“机器可读存储介质”还应认为包含能够存储或编码供机器执行的指令集且使机器执行本公开的方法中的任何一或多个的任何介质。因此,应认为术语“机器可读存储介质”包含但不限于固态存储器、光学介质和磁性介质。在实例中,集结的机器可读介质包括具有多个粒子的机器可读介质,所述粒子具有不变(例如,静止)质量。因此,集结式机器可读介质不是暂时性传播信号。集结式机器可读介质的特定实例可包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和快闪存储器装置;磁盘,例如内部硬盘和可移动磁盘;磁光盘;和CD-ROM和DVD-ROM磁盘。
机器700可进一步包含显示单元、字母数字输入装置(例如,键盘)和用户接口(UI)导航装置(例如,鼠标)。在实例中,显示单元、输入装置或UI导航装置中的一或多个可以是触摸屏显示器。机器信号生成装置(例如,扬声器)或者一或多个传感器,例如全球定位系统(GPS)传感器、指南针、加速度计或者一或多个其它传感器。机器700可包含输出控制器,例如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接,以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。
指令726(例如,软件、程序、操作系统(OS)等)或存储在数据存储装置718上的其它数据可由主存储器704存取以供处理装置702使用。主存储器704(例如,DRAM)通常是快速但易失性的,且因此是与适合长期存储(包含在处于“关断”条件中时)的数据存储装置718(例如,SSD)不同类型的存储装置。供用户或机器700使用的指令726或数据通常加载在主存储器704中,以供处理装置702使用。在主存储器704已满时,可分配来自数据存储装置718的虚拟空间以补充主存储器704;然而,因为数据存储装置718装置通常比主存储器704慢,且写入速度通常比读取速度慢至少两倍,所以虚拟存储器的使用可能由于存储装置时延(相较于主存储器704,例如DRAM)而极大地降低用户体验。此外,虚拟存储器的数据存储装置718的使用可能极大地减少数据存储装置718的可用使用寿命。
相较于虚拟存储器,虚拟存储器压缩(例如,LinuxTM内核特征“ZRAM”)使用存储器的部分作为压缩块存储以避免寻呼到数据存储装置718。在压缩块中进行寻呼,直到有必要将此类数据写入到数据存储装置718为止。虚拟存储器压缩增加了主存储器704的可用大小,同时减少了对数据存储装置718的损耗。
针对移动电子装置或移动存储装置而优化的存储装置传统上包含MMC固态存储装置(例如,微安全数字(microSDTM)卡等)。MMC装置包含与主机(例如,主机装置)的多个并行接口(例如,8位并行接口),且通常是可从主机移除的和与主机分离的组件。相比之下,eMMCTM装置附接到电路板且视为主机的组件,其读取速度堪比基于串行ATATM(串行高级技术(AT)附接,或SATA)的SSD装置。然而,对移动装置性能的需求继续增加,以便完全启用虚拟或扩增现实装置,利用提高的网络速度等。响应于这一需求,存储装置已从并行移位到串行通信接口。包含控制器和固件的通用快闪存储(UFS)装置使用具有专用读取/写入路径的低电压差分信令(LVDS)串行接口与主机通信,从而进一步推进了更高的读取/写入速度。
可进一步利用多个传送协议中的任一个(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)经由网络接口装置708使用传输介质在网络720上传输或接收指令724。实例通信网络可包含局域网(LAN)、广域网(WAN)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、普通老式电话(POTS)网络,以及无线数据网络(例如,电气和电子工程师协会(IEEE)802.11系列标准,称为IEEE 802.16系列标准,称为)、IEEE 802.15.4系列标准、点对点(P2P)网络等。在实例中,网络接口装置708可包含一或多个物理插口(例如,以太网、同轴或电话插口)或一或多个天线以连接到网络720。在实例中,网络接口装置708可包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一个无线地通信。术语“传输介质”应被认为包含能够存储、编码或携载指令以由机器700执行的任何无形介质,且包含数字或模拟通信信号或其它无形介质以有助于此类软件的通信。
额外注释和实例
实例1是一种存储器结构,其包括:控制器,其配置成:响应于读取命令的第一配置而在第一模式下操作存储器结构以执行第一数目个字节的数据的读取操作;响应于读取命令的第二配置而在第二模式下操作存储器结构以执行第二数目个字节的数据的读取操作,第二数目大于第一数目;且其中读取命令的第二配置包含建立第二数目的大小的第一一或多个位。
在实例2中,根据实例1所述的主题包含,其中读取命令的第二配置包含建立参数列表长度的第二一或多个位。
在实例3中,根据实例2所述的主题包含,其中读取命令的第二配置包含参数列表,所述参数列表包含存储器结构内的一或多个读取位置。
在实例4中,根据实例1到3所述的主题包含,其中一或多个读取位置中的每一个包含第二数目个字节的数据中的第一数目个字节的数据。
在实例5中,根据实例1到4所述的主题包含,其中第一配置包含第一读取位置,所述第一读取位置包含第一数目个字节的数据。
在实例6中,根据实例1到5所述的主题包含,其中第二配置包含第一读取位置,所述第一读取位置包含第二数目个字节的数据中的第一数目个字节的数据。
在实例7中,根据实例1到6所述的主题包含,其中在存储器结构处接收到的读取命令的位的状态确定读取命令何时处于第一配置或第二配置。
在实例8中,根据实例1到7所述的主题包含,耦合到控制器的快闪存储器,所述快闪存储器包含第一数目个字节的数据或第二数目个字节的数据。
实例9是一种方法,其包括:响应于读取命令的第一配置而在第一模式下操作存储器结构以执行第一数目个字节的数据的读取操作;响应于读取命令的第二配置而在第二模式下操作存储器结构以执行第二数目个字节的数据的读取操作,第二数目大于第一数目;且其中读取命令的第二配置包含建立第二数目的大小的第一一或多个位。
在实例10中,根据实例9所述的主题包含,其中读取命令的第二配置包含建立参数列表长度的第二一或多个位。
在实例11中,根据实例10所述的主题包含,其中读取命令的第二配置包含参数列表,所述参数列表包含存储器结构内的一或多个读取位置。
在实例12中,根据实例9到11所述的主题包含,其中一或多个读取位置中的每一个包含第二数目个字节的数据中的第一数目个字节的数据。
在实例13中,根据实例9到12所述的主题包含,其中第一配置包含第一读取位置,所述第一读取位置包含第一数目个字节的数据。
在实例14中,根据实例9到13所述的主题包含,其中第二配置包含第一读取位置,所述第一读取位置包含第二数目个字节的数据中的第一数目个字节的数据。
在实例15中,根据实例9到14所述的主题包含,其中在存储器结构处接收到的读取命令的位的状态确定读取命令何时处于第一配置或第二配置。
实例16是一种机器可读介质,其包括指令,所述指令在由快闪存储器装置的处理器执行时使得处理器执行包括以下各项的操作:响应于读取命令的第一配置而在第一模式下操作存储器结构以执行第一数目个字节的数据的读取操作;响应于读取命令的第二配置而在第二模式下操作存储器结构以执行第二数目个字节的数据的读取操作,第二数目大于第一数目;且其中读取命令的第二配置包含建立第二数目的大小的第一一或多个位。
在实例17中,根据实例16所述的主题包含,其中读取命令的第二配置包含建立参数列表长度的第二一或多个位。
在实例18中,根据实例17所述的主题包含,其中读取命令的第二配置包含参数列表,所述参数列表包含存储器结构内的一或多个读取位置。
在实例19中,根据实例16到18所述的主题包含,其中一或多个读取位置中的每一个包含第二数目个字节的数据中的第一数目个字节的数据。
在实例20中,根据实例16到19所述的主题包含,其中第一配置包含第一读取位置,所述第一读取位置包含第一数目个字节的数据。
在实例21中,根据实例16到20所述的主题包含,其中第二配置包含第一读取位置,所述第一读取位置包含第二数目个字节的数据中的第一数目个字节的数据。
在实例22中,根据实例16到21所述的主题包含,其中在存储器结构处接收到的读取命令的位的状态确定读取命令何时处于第一配置或第二配置。
实例23是一种存储器结构,其包括:控制器,其配置成:响应于读取命令的第一配置而在第一模式下操作存储器结构以执行第一数目个字节的数据的读取操作;响应于读取命令的第二配置而在第二模式下操作存储器结构以执行第二数目个字节的数据的读取操作,第二数目大于第一数目;且其中读取命令的第二配置包含建立第二数目的大小的第一一或多个位。
在实例24中,根据实例23所述的主题包含,其中读取命令的第二配置包含建立参数列表长度的第二一或多个位。
在实例25中,根据实例24所述的主题包含,其中读取命令的第二配置包含参数列表,所述参数列表包含存储器结构内的一或多个读取位置。
在实例26中,根据实例23到25所述的主题包含,其中一或多个读取位置中的每一个包含第二数目个字节的数据中的第一数目个字节的数据。
在实例27中,根据实例23到26所述的主题包含,其中第一配置包含第一读取位置,所述第一读取位置包含第一数目个字节的数据。
在实例28中,根据实例23到27所述的主题包含,其中第二配置包含第一读取位置,所述第一读取位置包含第二数目个字节的数据中的第一数目个字节的数据。
在实例29中,根据实例23到28所述的主题包含,其中在存储器结构处接收到的读取命令的位的状态确定读取命令何时处于第一配置或第二配置。
在实例30中,根据实例23到29所述的主题包含,耦合到控制器的快闪存储器,所述快闪存储器包含第一数目个字节的数据或第二数目个字节的数据。
实例31是一种方法,其包括:响应于读取命令的第一配置而在第一模式下操作存储器结构以执行第一数目个字节的数据的读取操作;响应于读取命令的第二配置而在第二模式下操作存储器结构以执行第二数目个字节的数据的读取操作,第二数目大于第一数目;且其中读取命令的第二配置包含建立第二数目的大小的第一一或多个位。
在实例32中,根据实例31所述的主题包含,其中读取命令的第二配置包含建立参数列表长度的第二一或多个位。
在实例33中,根据实例32所述的主题包含,其中读取命令的第二配置包含参数列表,所述参数列表包含存储器结构内的一或多个读取位置。
在实例34中,根据实例31到33所述的主题包含,其中一或多个读取位置中的每一个包含第二数目个字节的数据中的第一数目个字节的数据。
在实例35中,根据实例31到34所述的主题包含,其中第一配置包含第一读取位置,所述第一读取位置包含第一数目个字节的数据。
在实例36中,根据实例31到35所述的主题包含,其中第二配置包含第一读取位置,所述第一读取位置包含第二数目个字节的数据中的第一数目个字节的数据。
在实例37中,根据实例31到36所述的主题包含,其中在存储器结构处接收到的读取命令的位的状态确定读取命令何时处于第一配置或第二配置。
实例38是一种机器可读介质,其包括指令,所述指令在由快闪存储器装置的处理器执行时使得处理器执行包括以下各项的操作:响应于读取命令的第一配置而在第一模式下操作存储器结构以执行第一数目个字节的数据的读取操作;响应于读取命令的第二配置而在第二模式下操作存储器结构以执行第二数目个字节的数据的读取操作,第二数目大于第一数目;且其中读取命令的第二配置包含建立第二数目的大小的第一一或多个位。
在实例39中,根据实例38所述的主题包含,其中读取命令的第二配置包含建立参数列表长度的第二一或多个位。
在实例40中,根据实例39所述的主题包含,其中读取命令的第二配置包含参数列表,所述参数列表包含存储器结构内的一或多个读取位置。
在实例41中,根据实例38到40所述的主题包含,其中一或多个读取位置中的每一个包含第二数目个字节的数据中的第一数目个字节的数据。
在实例42中,根据实例38到41所述的主题包含,其中第一配置包含第一读取位置,所述第一读取位置包含第一数目个字节的数据。
在实例43中,根据实例38到42所述的主题包含,其中第二配置包含第一读取位置,所述第一读取位置包含第二数目个字节的数据中的第一数目个字节的数据。
在实例44中,根据实例38到43所述的主题包含,其中在存储器结构处接收到的读取命令的位的状态确定读取命令何时处于第一配置或第二配置。
实例45是包含指令的至少一个机器可读介质,所述指令在由处理电路系统执行时使得处理电路系统执行操作以实施实例1到44中的任一个。
实例46是一种设备,其包括用以实施实例1到44中的任一个的构件。
实例47是一种系统,其用以实施实例1到44中的任一个。
实例48是一种方法,其用以实施实例1到44中的任一个。
以上详细描述包含对随附图式的参考,所述随附图式形成详细描述的部分。所述图式借助于说明展示可实践本发明的特定实施例。这些实施例在本文中也称为“实例”。此类实例可包含除了所展示或所描述的那些元件之外的元件。然而,本发明人还考虑其中仅提供所展示或所描述的那些元件的实例。此外,本发明人还考虑使用关于特定实例(或其一或多个方面)或关于本文所展示或描述的其它实例(或其一或多个方面)而展示或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
在此文件中,如专利文件中常见,使用术语“一(a/an)”以包含一个或多于一个,这与“至少一个”或“一或多个”的任何其它情形或使用无关。在此文件中,除非另有指示,否则术语“或”用于指代非排它性或,使得“A或B”可包含“A而非B”、“B而非A”以及“A和B”。在所附权利要求书中,术语“包含”和“在其中(in which)”用作相应术语“包括”和“其中(wherein)”的简明等效术语。另外,在所附权利要求书中,术语“包含”和“包括”是开放式的。在权利要求书中除了在此类术语之后列出的要素之外还包含要素的系统、装置、物品或过程仍视为属于所述权利要求的范围。此外,在所附权利要求书中,术语“第一”、“第二”和“第三”等仅用作标签,且并不意图对其对象强加数字要求。
在各种实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表尤其可包含存储在物理装置上的物理电路系统或固件。如本文中所使用,“处理器”意指任何类型的计算电路,例如但不限于微处理器、微控制器、图形处理器、数字信号处理器(DSP),或任何其它类型的处理器或处理电路,包含处理器或多核心装置的群组。
如本文中所使用,操作存储器单元包含从存储器单元读取、写入到存储器单元或擦除存储器单元。将存储器单元置于预期状态中的操作在本文中被称为“编程”,且可包含写入到存储器单元或从存储器单元擦除(例如,存储器单元可经编程为擦除状态)。
根据本公开的一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设定、调整、计算、改变、清除、传送、调适、导出、限定、利用、修改、施加等)一定数量的损耗循环或损耗状态(例如,记录损耗循环、在存储器装置的操作发生时对存储器装置的操作进行计数、跟踪其起始的存储器装置的操作、评估对应于损耗状态的存储器装置特性等)。
根据本公开的一或多个实施例,存储器存取装置可配置成为存储器装置提供每一存储器操作的损耗循环信息。存储器装置控制电路系统(例如,控制逻辑)可经编程以补偿对应于损耗循环信息的存储器装置性能变化。存储器装置可接收损耗循环信息且响应于损耗循环信息而确定一或多个操作参数(例如,值、特性)。
本文中所描述的方法实例可至少部分地由机器、装置或计算机实施。一些实例可包含编码有指令的计算机可读介质、装置可读介质或机器可读介质,所述指令可操作以配置电子装置以执行如以上实例中所描述的方法。此类方法的实施方案可包含代码,例如微码、汇编语言代码、高级语言代码等。此类代码可包含用于执行各种方法的计算机可读指令。代码可形成计算机程序产品的部分。此外,代码可例如在执行期间或在其它时间有形地存储在一或多个易失性或非易失性有形计算机可读介质上。这些有形计算机可读介质的实例可包含但不限于:硬盘、可移式磁盘、可移式光盘(例如,压缩光盘和数字视频光盘)、盒式磁带、存储器卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用快闪存储(UFS)装置、嵌入式MMC(eMMC)装置等。
以上描述意图为说明性的而非限制性的。举例来说,以上描述的实例(或其一个或多个方面)可彼此组合使用。例如本领域的普通技术人员在查阅以上描述后可使用其它实施例。应理解,所述实施例将不会用于解释或限制权利要求书的范围或含义。而且,在以上具体实施方式中,可将各种特征分组在一起以简化本公开。不应将此解释为期望未要求的所公开特征对于任何权利要求来说是必需的。相反地,本发明主题可在于比特定公开实施例的所有特征要少。因此,特此将所附权利要求书并入到具体实施方式中,其中每一权利要求作为单独实施例而独立存在,且经考虑此类实施例可以各种组合或排列彼此组合。应参考所附权利要求书以及此类权利要求书所授予的等效物的完整范围来确定本发明的范围。
Claims (26)
1.一种存储器结构,其包括:
控制器,其配置成:
响应于读取命令的第一配置而在第一模式下操作所述存储器结构以执行第一数目个字节的数据的读取操作;
响应于所述读取命令的第二配置而在第二模式下操作所述存储器结构以执行第二数目个字节的数据的读取操作,所述第二数目大于所述第一数目;且
其中所述读取命令的所述第二配置包含接收对应于所述读取命令的预取命令。
2.根据权利要求1所述的存储器结构,其中所述预取命令包含位置标识符和表示所述第二数目个字节的传送长度。
3.根据权利要求2所述的存储器结构,其中所述第二配置包含接收具有与所述预取命令的所述位置标识符匹配的第二位置标识符的读取命令。
4.根据权利要求2所述的存储器结构,其中所述第二配置包含接收具有与所述预取命令的所述传送长度匹配的传送长度的读取命令。
5.根据权利要求2所述的存储器结构,其中所述读取命令的所述第二配置包含参数列表,所述参数列表包含所述存储器结构内的一或多个读取位置。
6.根据权利要求1所述的存储器结构,其中所述一或多个读取位置中的每一个包含所述第二数目个字节的数据中的第一数目个字节的数据。
7.根据权利要求1所述的存储器结构,其中所述第一配置包含第一读取位置,所述第一读取位置包含所述第一数目个字节的数据。
8.根据权利要求1所述的存储器结构,其中所述第二配置包含第一读取位置,所述第一读取位置包含所述第二数目个字节的数据中的第一数目个字节的数据。
9.根据权利要求1所述的存储器结构,其包含耦合到所述控制器的快闪存储器,所述快闪存储器包含所述第一数目个字节的数据或所述第二数目个字节的数据。
10.一种方法,其包括:
响应于读取命令的第一配置而在第一模式下操作存储器结构以执行第一数目个字节的数据的读取操作;
响应于所述读取命令的第二配置而在第二模式下操作所述存储器结构以执行第二数目个字节的数据的读取操作,所述第二数目大于所述第一数目;且
其中所述读取命令的所述第二配置包含大于系统的单个基本单元的传送长度。
11.根据权利要求10所述的方法,其中在第二模式下操作所述存储器结构包含接收具有位置标识符和表示所述第二数目个字节的传送长度的预取命令。
12.根据权利要求11所述的方法,其中在第二模式下操作所述存储器结构,其中所述预取命令包含参数列表长度。
13.根据权利要求12所述的方法,其中在第二模式下操作所述存储器结构包含接收与所述预取命令的所述参数列表长度相称的参数列表。
14.根据权利要求13所述的方法,其中所述参数列表包含所述存储器结构内的一或多个读取位置。
15.根据权利要求14所述的方法,其中所述一或多个读取位置中的每一个包含所述第二数目个字节的数据中的第一数目个字节的数据。
16.根据权利要求11所述的方法,其中在第二模式下操作所述存储器结构包含接收具有与所述预取命令的所述位置标识符匹配的位置标识符的读取命令。
17.根据权利要求11所述的方法,其中在第二模式下操作所述存储器结构包含接收具有与所述预取命令的所述传送长度匹配的传送长度的读取命令。
18.根据权利要求10所述的方法,其中所述第一配置包含第一读取位置,所述第一读取位置包含所述第一数目个字节的数据。
19.根据权利要求10所述的方法,其中所述第二配置包含第一读取位置,所述第一读取位置包含所述第二数目个字节的数据中的第一数目个字节的数据。
20.一种存储器结构,其包括:
控制器,其配置成:
响应于读取命令的第一配置而在第一模式下操作所述存储器结构以执行第一数目个字节的数据的读取操作;
响应于所述读取命令的第二配置而在第二模式下操作所述存储器结构以执行第二数目个字节的数据的读取操作,所述第二数目大于所述第一数目;且
其中所述读取命令的所述第二配置包含建立所述第二数目的大小的第一一或多个位。
21.根据权利要求20所述的存储器结构,其中所述读取命令的所述第二配置包含建立参数列表长度的第二一或多个位。
22.根据权利要求21所述的存储器结构,其中所述读取命令的所述第二配置包含参数列表,所述参数列表包含所述存储器结构内的一或多个读取位置。
23.根据权利要求20所述的存储器结构,其中所述一或多个读取位置中的每一个包含所述第二数目个字节的数据中的第一数目个字节的数据。
24.根据权利要求20所述的存储器结构,其中所述第一配置包含第一读取位置,所述第一读取位置包含所述第一数目个字节的数据。
25.根据权利要求20所述的存储器结构,其中所述第二配置包含第一读取位置,所述第一读取位置包含所述第二数目个字节的数据中的第一数目个字节的数据。
26.根据权利要求20所述的存储器结构,其中在所述存储器结构处接收到的读取命令的位的状态确定所述读取命令何时处于所述第一配置或所述第二配置。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962830935P | 2019-04-08 | 2019-04-08 | |
US62/830,935 | 2019-04-08 | ||
US201962861144P | 2019-06-13 | 2019-06-13 | |
US62/861,144 | 2019-06-13 | ||
US16/565,021 | 2019-09-09 | ||
US16/565,021 US11210093B2 (en) | 2019-04-08 | 2019-09-09 | Large data read techniques |
US16/592,500 | 2019-10-03 | ||
US16/592,500 US11231928B2 (en) | 2019-04-08 | 2019-10-03 | Large data read techniques |
PCT/US2020/026893 WO2020210163A1 (en) | 2019-04-08 | 2020-04-06 | Large data read techniques |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113841128A true CN113841128A (zh) | 2021-12-24 |
CN113841128B CN113841128B (zh) | 2023-03-03 |
Family
ID=72662316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080034873.8A Active CN113841128B (zh) | 2019-04-08 | 2020-04-06 | 大型数据读取方法、装置及可读介质 |
Country Status (4)
Country | Link |
---|---|
US (5) | US11210093B2 (zh) |
EP (1) | EP3953824A4 (zh) |
CN (1) | CN113841128B (zh) |
WO (1) | WO2020210163A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11720359B2 (en) | 2019-04-08 | 2023-08-08 | Micron Technology, Inc. | Large data read techniques |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11372717B2 (en) * | 2019-08-30 | 2022-06-28 | Qualcomm Incorporated | Memory with system ECC |
KR20220070951A (ko) * | 2020-11-23 | 2022-05-31 | 삼성전자주식회사 | 메모리 장치, 이를 포함하는 시스템 및 메모리 장치의 동작 방법 |
US20240168881A1 (en) * | 2022-11-22 | 2024-05-23 | Samsung Electronics Co., Inc. | Storage device and data processing method |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768548A (en) * | 1992-04-15 | 1998-06-16 | Intel Corporation | Bus bridge for responding to received first write command by storing data and for responding to received second write command by transferring the stored data |
US20100306405A1 (en) * | 2009-05-26 | 2010-12-02 | Cisco Technology, Inc., A Corporation Of California | Prefetch Optimization of the Communication of Data Using Descriptor Lists |
US8078805B1 (en) * | 2007-10-07 | 2011-12-13 | Wisair Ltd. | Method and system for communicating with a universal serial bus device |
CN105027213A (zh) * | 2013-03-12 | 2015-11-04 | 惠普发展公司,有限责任合伙企业 | 可编程地址映射和存储器访问操作 |
CN105930278A (zh) * | 2015-02-26 | 2016-09-07 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
CN109240942A (zh) * | 2013-03-15 | 2019-01-18 | 西部数据技术公司 | 固态驱动器中的原子写入命令支持 |
CN109426619A (zh) * | 2017-08-30 | 2019-03-05 | 慧荣科技股份有限公司 | 访问快闪存储器模块的方法及相关闪存控制器与电子装置 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6157955A (en) * | 1998-06-15 | 2000-12-05 | Intel Corporation | Packet processing system including a policy engine having a classification unit |
US6636927B1 (en) | 1999-09-24 | 2003-10-21 | Adaptec, Inc. | Bridge device for transferring data using master-specific prefetch sizes |
US6665708B1 (en) * | 1999-11-12 | 2003-12-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Coarse grained determination of data dependence between parallel executed jobs in an information processing system |
US6499085B2 (en) | 2000-12-29 | 2002-12-24 | Intel Corporation | Method and system for servicing cache line in response to partial cache line request |
US6571318B1 (en) * | 2001-03-02 | 2003-05-27 | Advanced Micro Devices, Inc. | Stride based prefetcher with confidence counter and dynamic prefetch-ahead mechanism |
US6978351B2 (en) | 2002-12-30 | 2005-12-20 | Intel Corporation | Method and system to improve prefetching operations |
US6976147B1 (en) | 2003-01-21 | 2005-12-13 | Advanced Micro Devices, Inc. | Stride-based prefetch mechanism using a prediction confidence value |
US7831800B2 (en) | 2007-05-17 | 2010-11-09 | Globalfoundries Inc. | Technique for prefetching data based on a stride pattern |
KR101300657B1 (ko) | 2007-07-06 | 2013-08-27 | 삼성전자주식회사 | 비휘발성 메모리 및 버퍼 메모리를 포함하는 메모리 시스템및 그것의 데이터 읽기 방법 |
US7890702B2 (en) * | 2007-11-26 | 2011-02-15 | Advanced Micro Devices, Inc. | Prefetch instruction extensions |
US8145844B2 (en) | 2007-12-13 | 2012-03-27 | Arm Limited | Memory controller with write data cache and read data cache |
JP2010287962A (ja) * | 2009-06-09 | 2010-12-24 | Mitsubishi Electric Corp | 情報処理装置及び情報処理方法及びプログラム |
US8607023B1 (en) * | 2009-12-16 | 2013-12-10 | Applied Micro Circuits Corporation | System-on-chip with dynamic memory module switching |
JP2012150529A (ja) | 2011-01-17 | 2012-08-09 | Sony Corp | メモリアクセス制御回路、プリフェッチ回路、メモリ装置および情報処理システム |
US9304919B2 (en) | 2013-05-31 | 2016-04-05 | Advanced Micro Devices, Inc. | Detecting multiple stride sequences for prefetching |
US9336047B2 (en) * | 2014-06-30 | 2016-05-10 | International Business Machines Corporation | Prefetching of discontiguous storage locations in anticipation of transactional execution |
US9734073B2 (en) | 2015-10-30 | 2017-08-15 | Qualcomm Incorporated | System and method for flash read cache with adaptive pre-fetch |
US10310980B2 (en) | 2016-04-01 | 2019-06-04 | Seagate Technology Llc | Prefetch command optimization for tiered storage systems |
US10503435B2 (en) | 2016-12-01 | 2019-12-10 | Qualcomm Incorporated | Providing extended dynamic random access memory (DRAM) burst lengths in processor-based systems |
WO2018232736A1 (zh) * | 2017-06-23 | 2018-12-27 | 华为技术有限公司 | 内存访问技术及计算机系统 |
US20190369909A1 (en) * | 2018-05-29 | 2019-12-05 | Alibaba Group Holding Limited | Homogeneous in-storage computation system |
US10732848B2 (en) * | 2018-06-29 | 2020-08-04 | Western Digital Technologies, Inc. | System and method for predictive read of random data |
US10824568B2 (en) * | 2018-07-25 | 2020-11-03 | Western Digital Technologies, Inc. | Speculative pre-fetching of flash translation layer tables for use with solid state systems |
US11210093B2 (en) | 2019-04-08 | 2021-12-28 | Micron Technology, Inc. | Large data read techniques |
US11061676B2 (en) * | 2019-04-24 | 2021-07-13 | International Business Machines Corporation | Scatter gather using key-value store |
-
2019
- 2019-09-09 US US16/565,021 patent/US11210093B2/en active Active
- 2019-10-03 US US16/592,500 patent/US11231928B2/en active Active
-
2020
- 2020-04-06 EP EP20787438.9A patent/EP3953824A4/en active Pending
- 2020-04-06 CN CN202080034873.8A patent/CN113841128B/zh active Active
- 2020-04-06 WO PCT/US2020/026893 patent/WO2020210163A1/en unknown
-
2021
- 2021-12-21 US US17/558,140 patent/US11720359B2/en active Active
-
2022
- 2022-01-24 US US17/582,480 patent/US20220147281A1/en active Pending
-
2023
- 2023-05-08 US US18/144,569 patent/US11989557B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768548A (en) * | 1992-04-15 | 1998-06-16 | Intel Corporation | Bus bridge for responding to received first write command by storing data and for responding to received second write command by transferring the stored data |
US8078805B1 (en) * | 2007-10-07 | 2011-12-13 | Wisair Ltd. | Method and system for communicating with a universal serial bus device |
US20100306405A1 (en) * | 2009-05-26 | 2010-12-02 | Cisco Technology, Inc., A Corporation Of California | Prefetch Optimization of the Communication of Data Using Descriptor Lists |
CN105027213A (zh) * | 2013-03-12 | 2015-11-04 | 惠普发展公司,有限责任合伙企业 | 可编程地址映射和存储器访问操作 |
CN109240942A (zh) * | 2013-03-15 | 2019-01-18 | 西部数据技术公司 | 固态驱动器中的原子写入命令支持 |
CN105930278A (zh) * | 2015-02-26 | 2016-09-07 | 爱思开海力士有限公司 | 数据储存设备及其操作方法 |
CN109426619A (zh) * | 2017-08-30 | 2019-03-05 | 慧荣科技股份有限公司 | 访问快闪存储器模块的方法及相关闪存控制器与电子装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11720359B2 (en) | 2019-04-08 | 2023-08-08 | Micron Technology, Inc. | Large data read techniques |
US11989557B2 (en) | 2019-04-08 | 2024-05-21 | Lodestar Licensing Group, Llc | Large data read techniques |
Also Published As
Publication number | Publication date |
---|---|
US11231928B2 (en) | 2022-01-25 |
US11989557B2 (en) | 2024-05-21 |
US20200319882A1 (en) | 2020-10-08 |
US11210093B2 (en) | 2021-12-28 |
US20220147281A1 (en) | 2022-05-12 |
CN113841128B (zh) | 2023-03-03 |
US20200319823A1 (en) | 2020-10-08 |
US20220113970A1 (en) | 2022-04-14 |
EP3953824A4 (en) | 2023-01-04 |
EP3953824A1 (en) | 2022-02-16 |
WO2020210163A1 (en) | 2020-10-15 |
US11720359B2 (en) | 2023-08-08 |
US20230418607A1 (en) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113841128B (zh) | 大型数据读取方法、装置及可读介质 | |
US11704254B2 (en) | Host side caching security for flash memory | |
US11809311B2 (en) | Host-based flash memory maintenance techniques | |
CN112771491B (zh) | 主机常驻转换层有效性检查技术 | |
US11687469B2 (en) | Host-resident translation layer validity check techniques | |
CN114761931A (zh) | 有限ram系统中的逻辑到物理转译技术 | |
US20220404988A1 (en) | Replay protected memory block data frame | |
US11721388B2 (en) | Large file integrity techniques | |
CN111352864B (zh) | 快闪存储器持久性高速缓存技术 | |
CN112445716A (zh) | Nand存储的重映射技术 | |
CN111538609B (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 |