CN111338976A - 存储器系统以及存储器系统的操作方法 - Google Patents
存储器系统以及存储器系统的操作方法 Download PDFInfo
- Publication number
- CN111338976A CN111338976A CN201910849749.6A CN201910849749A CN111338976A CN 111338976 A CN111338976 A CN 111338976A CN 201910849749 A CN201910849749 A CN 201910849749A CN 111338976 A CN111338976 A CN 111338976A
- Authority
- CN
- China
- Prior art keywords
- read
- data
- memory
- command
- memory device
- 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.)
- Withdrawn
Links
Images
Classifications
-
- 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
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host 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/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/0611—Improving I/O performance in relation to response time
-
- 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/0656—Data buffering arrangements
-
- 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/0658—Controller construction arrangements
-
- 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
- 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
- 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/26—Sensing or reading circuits; Data output 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- 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/60—Details of cache memory
- G06F2212/602—Details relating to cache prefetching
-
- 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/60—Details of cache memory
- G06F2212/6024—History based prefetching
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
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)
- Read Only Memory (AREA)
Abstract
本发明提供一种存储器系统以及存储器系统的操作方法。存储器系统包括:存储器装置,被配置成对数据执行写入操作和读取操作;以及控制器,被配置成响应于从主机接收的命令控制存储器装置执行写入操作和读取操作,其中控制器响应于所接收的命令之中、对应于读取操作的读取命令来控制存储器装置,对与读取命令相对应的第一地址的数据执行读取操作并且对与尚未接收的读取命令相对应的第二地址的数据执行预读取操作,将对应于读取操作的读取数据传送至主机,并且存储对应于预读取操作的预读取数据。
Description
相关申请的交叉引用
本申请要求于2018年12月19日提交的申请号为10-2018-0165626的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
本公开总体涉及一种电子装置,并且更特别地,涉及一种存储器系统以及存储器系统的操作方法。
背景技术
近来计算环境机范例已经转变成可以随时随地使用计算系统的普适计算。这促进诸如移动电话、数码相机和笔记本计算机等的便携式电子装置的使用增加。这些便携式电子装置通常可以包括使用存储器装置、即数据存储装置的存储器系统,该存储器系统可以用作便携式电子装置的主存储器装置或辅助存储器装置。
由于用作存储器装置的数据存储装置没有机械驱动部件,因此其具有优异的稳定性和耐用性、高信息访问速度和低功耗。在具有这些优点的存储器系统的场景下,数据存储装置包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、固态驱动器(SSD)等。
存储器装置可以是易失性存储器装置或非易失性存储器装置。
非易失性存储器装置具有相对慢的写入速度和读取速度,但即使在电力供应被中断时也保持存储的数据。因此,非易失性存储器装置用于存储待保持的数据,而不管是否供应电力。
易失性存储器的示例包括只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻RAM(RRAM)、铁电RAM(FRAM)等。闪速存储器可以是NOR型闪速存储器或NAND型闪速存储器。
发明内容
实施例提供一种能够在同时接收到写入命令和读取命令时提高存储器系统的操作性能的存储器系统以及存储器系统的操作方法。
根据本公开的一方面,提供一种存储器系统,该存储器系统包括:存储器装置,被配置成对数据执行写入操作和读取操作;以及控制器,被配置成响应于从主机接收的命令控制存储器装置执行写入操作和读取操作,其中控制器响应于接收的命令之中、对应于读取操作的读取命令来控制存储器装置,对与该读取命令相对应的第一地址的数据执行读取操作并且对与尚未接收的读取命令相对应的第二地址的数据执行预读取操作,将对应于读取操作的读取数据传送至主机,并且存储对应于预读取操作的预读取数据。
根据本公开的另一方面,提供一种存储器系统,该存储器系统包括:存储器装置,被配置成执行写入操作、读取操作和预读取操作;以及控制器,被配置成响应于从主机接收的主机命令控制存储器装置执行写入操作和读取操作,并且在接收到对应于特定地址的主机命令之前,控制存储器装置对特定地址执行预读取操作,其中控制器基于读取先行(RLA)方法选择待被执行预读取操作的特定地址,从存储器装置接收通过执行预读取操作而获得的、从存储器装置读取的预读取数据,存储预读取数据,并且当在预读取操作之后接收的主机命令对应于特定地址时,将预读取数据传送至主机。
根据本公开的又一方面,提供一种用于操作存储器系统的方法,该方法包括:在从主机接收到主机命令之前对存储器装置执行预读取操作;从存储器装置接收通过执行预读取操作而获得的预读取数据,并且将预读取数据存储在控制器中;当在预读取操作之后从主机接收到包括写入命令和读取命令的主机命令时,将对应于写入命令的写入数据存储在控制器中;确定读取命令是否对应于预读取数据;以及当确定读取命令对应于预读取数据时,并行地执行将写入数据传送至存储器装置的操作和将预读取数据传送至主机的操作。
根据本公开的另一方面,提供一种存储器系统,该存储器系统包括:存储器装置,存储有数据并且从中读取数据;以及控制器,被配置成:控制存储器装置根据读取先行(RLA)方案执行读取数据的预读取操作,并且缓冲在预读取操作中读取的数据(预读取数据);并且在响应于来自外部源的写入请求控制存储器装置执行写入操作的同时,响应于来自外部源的针对预读取数据的读取请求将被缓冲的预读取数据提供至外部源,其中预读取数据是存储在存储器装置中的数据之中的被频繁请求读取的数据、基于先前读取请求的模式而确定的数据、在数据被读取的最新逻辑地址之后的逻辑地址的数据中的至少一种。
附图说明
下面参照附图更全面地描述各个实施例;然而,本发明的元件和特征可以与所公开的实施例中不同地配置或布置。因此,本发明不限于本文阐述的实施例。而是,提供这些实施例使得本公开彻底且完整,并且向本领域技术人员充分传达示例实施例的范围。在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任意这种短语的不同参考不一定针对相同的实施例。
在附图中,为了清楚说明,可能夸大尺寸。将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件,或也可存在一个或多个中间元件。相同的附图标记始终表示相同的元件。
图1是示出根据本公开的实施例的存储器系统的框图。
图2是示出诸如图1中所示的控制器的配置的框图。
图3是示出诸如图1中所示的半导体存储器的示图。
图4是示出诸如图3中所示的存储块的示图。
图5是示出三维配置的存储块的实施例的示图。
图6是示出三维配置的存储块的另一实施例的示图。
图7是示出根据本公开的实施例的存储器系统的操作的流程图。
图8是示出根据本公开的实施例的存储器系统的数据传送顺序的配置图。
图9是示出存储器系统的实施例的示图。
图10是示出存储器系统的实施例的示图。
图11是示出存储器系统的实施例的示图。
图12是示出存储器系统的实施例的示图。
具体实施方式
本文中公开的特定结构和功能描述仅用于描述本公开的实施例的目的。然而,本发明可以以其它方式实施。因此,本发明不限于本文阐述的实施例。
虽然详细描述了本文的实施例,但是本发明不限于具体细节。而是,本发明包括不脱离本发明的精神和技术范围的所有修改、变型、等同方案和替代方案。
虽然诸如“第一”和“第二”的术语可以用于识别各种组件,但是这些组件不受上述术语的限制。上述术语仅用于将一个组件与否则具有相同或相似名称的另一组件区分开。例如,在不脱离本发明的范围的情况下,第一组件可以被称为第二组件,反之亦然。
将理解的是,当元件被称为“连接”或“联接”到另一元件时,其可直接连接或联接到其它元件,或者可存在一个或多个中间元件。相反,当元件被称为“直接连接”或“直接联接”到另一元件时,不存在中间元件。可以类似地解释描述组件之间的关系的其它表达,诸如“在.....之间”、“直接在......之间”、“与......相邻”和“与......直接相邻”。
本申请中使用的术语仅用于描述特定实施例,并不旨在限制本发明。除非上下文另有明确说明,否则本公开中的单数形式旨在包括复数形式,反之亦然。将进一步理解的是,诸如“包括”或“具有”等术语旨在表示特征、数字、操作、动作、组件、部件或其组合的存在,但并不旨在排除可能存在或可能添加一个或多个其它特征、数字、操作、动作、组件、部件或其组合的可能性。
只要不进行不同地定义,则本文使用的包括技术或科学术语的全部术语具有本公开所属领域的技术人员通常理解的含义。应理解普通字典定义的术语,使得它们具有与相关技术的上下文一致的含义。只要本申请中不进行明确地定义,则不应以理想化或过于形式化的方式理解术语。
在描述实施例时,省略对本公开所属领域的和本公开未直接相关的公知的技术的描述。这旨在更清楚地表达本发明的方面和特征。
在下文中,将参照附图详细描述本公开的各个实施例,以便本领域技术人员能够容易地实践本发明。
图1是示出根据本公开的实施例的存储器系统的框图。
参照图1,存储器系统1000包括存储器装置1100和控制器1200。存储器装置1100包括多个半导体存储器100。多个半导体存储器100可以被划分成多个组。在另一实施例中,存储器系统1000可以包括主机1400以及控制器1200和存储器装置1100。
图1示出多个(例如n个)组的半导体存储器100分别通过第一至第n通道CH1至CHn与控制器1200通信。下面参照图3描述每个半导体存储器100。
给定组中的半导体存储器100中的每一个通过一个公共通道与控制器1200通信。控制器1200通过多个通道CH1至CHn来控制存储器装置1100的多个半导体存储器100。
控制器1200联接在主机1400和存储器装置1100之间。控制器1200响应于来自主机1400的请求来访问存储器装置1100。例如,控制器1200响应于从主机1400接收的命令来控制存储器装置1100的读取操作、写入操作、擦除操作和后台操作。控制器1200提供存储器装置1100和主机1400之间的接口连接。控制器1200驱动用于控制存储器装置1100的固件。
而且,控制器1200可以在接收到针对预读取数据的读取命令之前,控制存储器装置1100基于读取先行(RLA)方法执行读取数据(预读取数据)的预读取操作。在预读取操作期间,预读取数据可以存储在控制器1200中。当从主机1400接收到针对预读取数据的读取命令时,将预读取数据从控制器1200输出至主机1400。
根据RLA方案,待预读取的数据可以是可预测的。待预读取的数据可以是被频繁请求读取的数据、可以基于读取请求模式预测不久将被读取的数据、以及在最近请求读取的数据的最新逻辑地址之后的逻辑地址的数据。由于主机1400根据逻辑地址顺序地频繁地请求数据,因此在最近请求读取的数据的最新逻辑地址之后的逻辑地址的数据可以被预测为不久将被读取的数据,从而可以被选择为待预读取的数据。
控制器1200和存储器装置1100可以被集成至一个半导体装置中。在实施例中,控制器1200和存储器装置1100可以被集成到一个半导体装置中以构成诸如以下的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA)),紧凑型闪存(CF)卡,智能媒体卡(SM或SMC),记忆棒,多媒体卡(MMC、RS-MMC或微型MMC),SD卡(SD、迷你SD、微型SD或SDHC)或通用闪存(UFS)。
控制器1200和存储器装置1100可以被集成到一个半导体装置中以构成半导体驱动器(固态驱动器(SSD))。固态驱动器SSD包括被配置成将数据存储在半导体存储器中的存储装置。当存储器系统1000用作固态驱动器SSD时,可显著提高联接到存储器系统1000的主机1400的操作速度。
在另一示例中,存储器系统1000可以被设置为诸如以下的电子装置的各个组件中的一个:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、三维电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、能够在无线环境下发送/接收信息的装置、构成家庭网络的各种电子装置中的一个、构成计算机网络的各种电子装置中的一个、构成远程信息处理网络的各种电子装置中的一个、RFID装置或构成计算系统的各种组件中的一个。
在实施例中,存储器装置1100或存储器系统1000可以以各种形式来封装。例如,存储器装置1100或存储器系统1000可以被封装为:堆叠式封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、窝伏尔组件管芯、晶圆形式管芯、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制方形扁平封装(PMQFP)、薄型四方扁平封装(TQFP)、小外形集成电路(SOIC)、收缩小外形封装(SSOP)、薄型小外形封装(TSOP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)或晶圆级处理堆叠封装(WSP)。
主机1400控制存储器系统1000。主机1400包括诸如计算机、PDA、PMP、MP3播放器、相机、便携式摄像机和移动电话的便携式电子装置。主机1400可以通过命令请求存储器系统1000的写入操作、读取操作、擦除操作等。主机1400可以同时将多个命令输出至存储器系统1000。例如,主机1400可以同时将包括写入命令和读取命令的多个命令输出至存储器系统1000的控制器1200。
图2是示出图1中所示的控制器的示例性配置的框图。
参照图2,控制器1200可以包括主机控制电路1210、处理器1220、存储器缓冲器1230、缓冲器管理块1240、错误校正电路1250、闪存控制电路1260和总线1270。
总线1270可以在控制器1200的组件之间提供通道。
主机控制电路1210可以控制图1中所示的主机1400和存储器缓冲器1230之间的数据传送。在示例中,主机控制电路1210可以控制将从主机1400输入的数据缓冲至存储器缓冲器1230的操作。在另一示例中,主机控制电路1210可以控制将缓冲至存储器缓冲器1230的数据输出至主机1400的操作。主机控制电路1210可以包括主机接口。
处理器1220可以控制控制器1200的全部操作,并且执行逻辑操作。处理器1220可以通过主机控制电路1210与图1中所示的主机1400通信,并且通过闪存控制电路1260与图1中所示的存储器装置1100通信。而且,处理器1220可以通过使用作为工作存储器、高速缓存存储器或缓冲存储器的存储器缓冲器1230控制存储器系统1000的操作。而且,处理器1220可以控制存储器缓冲器1230。处理器1220可以通过根据优先级顺序对从主机1400接收的多个命令进行重新排序生成命令队列来控制闪存控制电路1260。而且,在预读取操作中,处理器1220可以通过生成与预读取操作相对应的命令队列和待被执行预读取操作的预读取数据的地址来控制闪存控制电路1260。
处理器1220可以包括闪存转换层(FTL)1221。
FTL1221驱动存储在存储器缓冲器1230中的固件。而且,在数据写入操作中,FTL1221可以将相应物理地址映射到从图1中所示的主机1400输入的逻辑地址。而且,在数据读取操作中,FTL 1221检查映射到从主机1400输入的逻辑地址的物理地址。
而且,FTL 1221可以在从主机1400接收到针对预读取数据的读取命令之前,生成用于控制存储器装置1100以基于RLA方法执行读取预读取数据的预读取操作的命令队列,并且响应于从主机1400接收的写入命令和读取命令,生成用于控制存储器装置1100执行写入操作和读取操作的命令队列。
存储器缓冲器1230可以用作处理器1220的工作存储器、高速缓存存储器或数据缓冲存储器。存储器缓冲器1230可以存储由处理器1220运行的代码和命令。存储器缓冲器1230可以存储由处理器1220处理的数据。
存储器缓冲器1230可以包括写入缓冲器1231和读取缓冲器1232。当将写入命令传送至存储器装置1100时,写入缓冲器1231临时存储从主机1400与写入命令一起接收的写入数据,然后将临时存储的写入数据传送至存储器装置1100。读取缓冲器1232在读取操作中临时存储从存储器装置1100接收的读取数据,然后将临时存储的读取数据传送至主机1400。而且,读取缓冲器1232在预读取操作中存储从存储器装置1100接收的预读取数据。随后,当从主机1400接收到针对预读取数据的读取命令时,读取缓冲器1232将存储的预读取数据传送至主机1400。
存储器缓冲器1230可以包括静态RAM(SRAM)或动态RAM(DRAM)。
缓冲器管理块1240可以控制存储器缓冲器1230。例如,当从主机1400与写入命令一起接收的写入数据存储在存储器缓冲器1230中,并且从主机1400接收到读取命令时,缓冲器管理块1240可以控制存储器缓冲器1230,使得从存储器装置1100接收的读取数据存储在存储器缓冲器1230中。而且,当通过由存储器装置1100基于RLA方法执行的预读取操作而读取的预读取数据存储在存储器缓冲器1230中,并且从主机1400接收到针对存储在存储器缓冲器1230中的预读取数据的读取命令时,缓冲器管理块1240可以控制存储器缓冲器1230,使得存储在存储器缓冲器1230中的预读取数据被输出至主机1400。
错误校正电路1250可以执行错误校正。错误校正电路1250可以基于待通过闪存控制电路1260写入至图1中所示的存储器装置1100的写入数据执行错误校正码(ECC)编码。可以通过闪存控制电路1260将经ECC编码的数据传送至存储器装置1100。错误校正电路1250可以对通过闪存控制电路1260从存储器装置1100接收的读取数据和预读取数据执行ECC解码。在示例中,错误校正电路1250可以作为闪存控制电路1260的组件包括在闪存控制电路1260中。
闪存控制电路1260响应于由处理器1220生成的命令队列,生成并输出用于控制存储器装置1100的内部命令。在数据写入操作中,闪存控制电路1260可以通过将缓冲至存储器缓冲器1230的写入缓冲器1231的数据传送至存储器装置1100来控制写入操作。在另一示例中,在读取操作和预读取操作中,闪存控制电路1260可以响应于命令队列来控制将从存储器装置110读取的读取数据和预读取数据缓冲至存储器缓冲器1230的操作。闪存控制电路1260可以包括闪存接口。
图3是示出图1中所示的半导体存储器100的示例的示图。
参照图3,半导体存储器100可以包括存储数据的存储器单元阵列10。半导体存储器100可以包括被配置成执行用于将数据存储在存储器单元阵列10中的编程操作、用于输出所存储的数据的读取操作以及用于擦除所存储的数据的擦除操作的外围电路200。半导体存储器100可以包括在图1中所示的控制器1200的控制下控制外围电路200的控制逻辑300。
存储器单元阵列10可以包括多个存储块MB1至MBk 11(k为正整数)。局部线LL和位线BL1至BLm(m是正整数)可以联接到存储块MB1至MBk 11。例如,局部线LL可以包括第一选择线、第二选择线和布置在第一选择线和第二选择线之间的多个字线。而且,局部线LL可以进一步包括布置在第一选择线和字线之间以及第二选择线和字线之间的虚设线。第一选择线可以是源极选择线,第二选择线可以是漏极选择线。例如,局部线LL可以包括字线、漏极选择线和源极选择线以及源极线SL。例如,局部线LL还可以包括虚设线。例如,局部线LL可以进一步包括管线。局部线LL可以分别联接到存储块MB1至MBk 11,并且位线BL1至BLm可以共同联接到存储块MB1至MBk11。存储块MB1到MBk 11可以以二维或三维结构来实施。例如,存储器单元可以布置在与具有二维结构的存储块11中的衬底平行的方向上。例如,存储器单元可以布置在与具有三维结构的存储块11中的衬底垂直的方向上。
外围电路200可以被配置成在控制逻辑300的控制下对选择的存储块11执行编程操作、读取操作以及擦除操作。例如,外围电路200可以包括电压产生电路210、行解码器220、页面缓冲器组230、列解码器240、输入/输出电路250、通过/失败检查电路260和源极线驱动器270。
电压产生电路210可以响应于操作信号OP_CMD生成用于编程操作、读取操作和擦除操作的各种操作电压Vop。而且,电压产生电路210可以响应于操作信号OP_CMD选择性地对局部线LL放电。例如,电压产生电路210可以在控制逻辑300的控制下生成编程电压、验证电压、通过电压以及选择晶体管操作电压。
行解码器220可以响应于控制信号AD_signals将操作电压Vop传送至与选择的存储块11联接的局部线LL。例如,行解码器220可以响应于控制信号AD_signals,选择性地将由电压产生电路210生成的操作电压(例如,编程电压、验证电压、通过电压等)施加到局部线LL之中的字线。
在编程电压施加操作中,行解码器220响应于控制信号AD_signals,将由电压产生电路210生成的编程电压施加到局部线LL之中的选择的字线,并且将由电压产生电路210生成的通过电压施加到其它未选择字线。而且,在读取操作中,行解码器220响应于控制信号AD_signals,将由电压产生电路210生成的读取电压施加到局部线LL之中的选择的字线,并且将由电压产生电路210生成的通过电压施加到其它未选择字线。
页面缓冲器组230可以包括联接到位线BL1至BLm的多个页面缓冲器PB1至PBm231。页面缓冲器PB1至PBm 231可以响应于页面缓冲器控制信号PBSIGNALS而操作。例如,页面缓冲器PB1至PBm 231可以临时存储待在编程操作中被编程的数据,或者在读取或验证操作中感测位线BL1至BLm的电压或电流。
列解码器240可以响应于列地址CADD在输入/输出电路250和页面缓冲器组230之间传送数据。例如,列解码器240可以通过数据线DL与页面缓冲器231交换数据,或者通过列线CL与输入/输出电路250交换数据。
输入/输出电路250可以将从图1中所示的控制器1200接收的命令CMD和地址ADD传送至控制逻辑300,或者与列解码器240交换数据DATA。
在读取操作或验证操作中,通过/失败检查电路260可以响应于允许位VRY_BIT<#>生成参考电流,并且通过将从页面缓冲器组230接收的感测电压VPB与由参考电流产生的参考电压进行比较来输出通过信号PASS或失败信号FAIL。
源极线驱动器270可以通过源极线SL联接到存储器单元阵列10中包括的存储器单元,并且控制施加到源极线SL的电压。源极线驱动器270可以从控制逻辑300接收源极线控制信号CTRL_SL,并且基于源极线控制信号CTRL_SL控制施加到源极线SL的源极线电压。
控制逻辑300可以通过响应于命令CMD和地址ADD输出操作信号OP_CMD、控制信号AD_signals、页面缓冲器控制信号PBSIGNALS和允许位VRY_BIT<#>来控制外围电路200。而且,控制逻辑300可以响应于通过信号PASS或失败信号FAIL确定验证操作是已经通过还是已经失败。
图4是示出图3中所示的示例性存储块的示图。
参照图4,在存储块11中,彼此平行布置的多个字线可以联接在第一选择线和第二选择线之间。第一选择线可以是源极选择线SSL,第二选择线可以是漏极选择线DSL。更具体地,存储块11可以包括联接在位线BL1至BLm与源极线SL之间的多个串ST。位线BL1至BLm可以分别联接到串ST,并且源极线SL可以共同联接到串ST。串ST可以彼此相同地配置,因此将作为示例详细描述联接到第一位线BL1的串ST。
串ST可以包括彼此串联地联接在源极线SL和第一位线BL1之间的源极选择晶体管SST、多个存储器单元F1至F16以及漏极选择晶体管DST。一个串ST中可以包括至少一个源极选择晶体管SST和至少一个漏极选择晶体管DST。而且,一个串ST中可以包括比附图中所示的16个存储器单元F1至F16更多的存储器单元。
源极选择晶体管SST的源极可以联接到源极线SL,并且漏极选择晶体管DST的漏极可以联接到第一位线BL1。存储器单元F1至F16可以串联地联接在源极选择晶体管SST和漏极选择晶体管DST之间。不同串ST中包括的源极选择晶体管SST的栅极可以联接到源极选择线SSL,不同串ST中包括的漏极选择晶体管DST的栅极可以联接到漏极选择线DSL,不同串ST中包括的存储器单元F1至F16的栅极可以联接到多个字线WL1至WL16。不同串ST中包括的存储器单元之中、联接到相同字线的一组存储器单元可以是物理页面PPG。因此,存储块11中可以包括数量与字线WL1至WL16的数量相对应的物理页面PPG。
一个存储器单元可以存储一位数据。这种存储器单元通常被称为单层单元(SLC)。一个物理页面PPG可以存储一个逻辑页面(LPG)数据。一个LPG数据可以包括与一个物理页面PPG中包括的单元的数量相对应的数据位。而且,一个存储器单元可以存储两位或更多位数据。这种存储器单元通常被称为多层单元(MLC)。一个物理页面PPG可以存储两个或更多个LPG数据。
图5是示出三维配置的存储块的实施例的示图。
参照图5,存储器单元阵列10可以包括存储块MB1至MBk 11。存储块11可以包括多个串ST11至ST1m和ST21至ST2m。在实施例中,多个单元串ST11至ST1m和ST21至ST2m中的每一个可以形成为“U”型。在存储块11中,m个串可以布置在行方向(即+X方向)上。虽然为了清楚起见,图5示出了在列方向(Y方向)上布置两个串的情况;但是,可以在列方向(Y方向)上布置三个或更多个串。
多个串ST11至ST1m和ST21至ST2m中的每个串可以包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT和至少一个漏极选择晶体管DST。
源极选择晶体管SST和漏极选择晶体管DST以及存储器单元MC1至MCn可以具有彼此类似的结构。例如,源极选择晶体管SST和漏极选择晶体管DST以及存储器单元MC1至MCn中的每一个可以包括沟道层、隧道绝缘层、电荷撷取层和阻挡绝缘层。例如,在每个串中可以设置用于提供沟道层的柱。例如,在每个串中可以设置用于提供沟道层、隧道绝缘层、电荷撷取层和阻挡绝缘层中的至少一个的柱。
每个串的源极选择晶体管SST可以联接在源极线SL与存储器单元MC1至MCp之间。
在实施例中,布置在相同行中的串的源极选择晶体管可以联接到在行方向上延伸的源极选择线,并且布置在不同行中的串的源极选择晶体管可以联接到不同的源极选择线。在图5中,第一行中的串ST11至ST1m的源极选择晶体管可以联接到第一源极选择线SSL1。第二行中的串ST21至ST2m的源极选择晶体管可以联接到第二源极选择线SSL2。
在另一实施例中,串ST11至ST1m和ST21至ST2m的源极选择晶体管可以共同联接到一个源极选择线。
每个串中的第一至第n存储器单元MC1至MCn可以联接在源极选择晶体管SST和漏极选择晶体管DST之间。
第一至第n存储器单元MC1至MCn可以被划分成第一至第p存储器单元MC1至MCp以及第(p+1)至第n存储器单元MCp+1至MCn。第一至第p存储器单元MC1至MCp可以被顺序地布置在垂直方向(例如,-Z方向)上,并且彼此串联地联接在源极选择晶体管SST和管道晶体管PT之间。第(p+1)至第n存储器单元MCp+1至MCn可以被顺序地布置在垂直方向(例如,+Z方向)上,并且彼此串联地联接在管道晶体管PT和漏极选择晶体管DST之间。第一至第p存储器单元MC1至MCp和第(p+1)至第n存储器单元MCp+1至MCn可以通过管道晶体管PT彼此联接。每个串的第一至第n存储器单元MC1至MCn的栅极可以分别联接到第一至第n字线WL1至WLn。
在实施例中,第一至第n存储器单元MC1至MCn中的至少一个可以用作虚设存储器单元。当设置了虚设存储器单元时,可以稳定地控制相应串的电压或电流。每个串的管道晶体管PT的栅极可以联接到管线PL。
每个串的漏极选择晶体管DST可以联接到位线和存储器单元MCp+1至MCn。布置在行方向上的串可以联接到在行方向上延伸的漏极选择线。第一行中的串ST11至ST1m的漏极选择晶体管可以联接到第一漏极选择线DSL1。第二行中的串ST21至ST2m的漏极选择晶体管可以联接到第二漏极选择线DSL2。
布置在列方向上的串可以联接到在列方向上延伸的位线。在图5中,第一列中的串ST11和ST21可以联接到第一位线BL1。第m列中的串ST1m和ST2m可以联接到第m位线BLm。
布置在行方向上的串之中、联接到相同字线的存储器单元可以构成一个页面。例如,在第一行中的串ST11至ST1m之中、联接到第一字线WL1的存储器单元可以构成一个页面。在第二行中的串ST21至ST2m之中、联接到第一字线WL1的存储器单元可以构成另一页面。当选择漏级选择线DSL1和DSL2中的任意一个时,可以选择在一个行方向上布置的串。当选择字线WL1至WLn中的任意一个时,可以选择所选择的串之中的一个页面。
图6是示出三维配置的存储块的另一实施例的示图。
参照图6,存储器单元阵列10可以包括多个存储块MB1至MBk11。存储块11可以包括多个串ST11'至ST1m'和ST21'至ST2m'。多个串ST11'至ST1m'和ST21'至ST2m'中的每一个可以沿垂直方向(Z方向)延伸。在存储块11中,m个串可以布置在行方向(X方向)上。虽然图6中示出了在列方向(Y方向)上布置两个串的情况,但这是为了清楚起见;可以在列方向(Y方向)上布置三个或更多个串。
多个串ST11'至ST1m'和ST21'至ST2m'中的每一个可以包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST。
每个串的源极选择晶体管SST可以联接在源极线SL与存储器单元MC1至MCn之间。布置在同一行中的串的源极选择晶体管可以联接到相同的源极选择线。布置在第一行中的串ST11'至ST1m'的源极选择晶体管可以联接到第一源极选择线SSL1。布置在第二行中的串ST21'至ST2m'的源极选择晶体管可以联接到第二源极选择线SSL2。在另一实施例中,串ST11'至ST1m'和ST21'至ST2m'的源极选择晶体管可以共同联接到一个源极选择线。
每个串的第一至第n存储器单元MC1至MCn可以彼此串联地联接在源极选择晶体管SST和漏极选择晶体管DST之间。第一至第n存储器单元MC1至MCn的栅极可以分别联接到第一至第n字线WL1至WLn。
在实施例中,第一至第n存储器单元MC1至MCn中的至少一个可以用作虚设存储器单元。当设置了虚设存储器单元时,可以稳定地控制相应串的电压或电流。因此,存储块11中存储的数据的可靠性可以提高。
每个串的漏极选择晶体管DST可以联接在位线和存储器单元MC1至MCn之间。布置在行方向上的串的漏极选择晶体管DST可以联接到在行方向上延伸的漏极选择线。第一行中的串ST11'至ST1m'的漏极选择晶体管DST可以联接到第一漏极选择线DSL1。第二行中的串ST21'至ST2m'的漏极选择晶体管DST可以联接到第二漏极选择线DSL2。
图7是示出根据本公开的实施例的存储器系统,例如存储器系统1000的操作的流程图。
图8是示出根据本公开的实施例的存储器系统,例如存储器系统1000的数据传送顺序的示图。
下面参照图1至图8描述根据本公开的实施例的存储器系统的操作方法。
在从主机1400接收到下一读取命令之前,存储器系统1000基于RLA方法执行预先读取存储在存储器装置1100中的数据之中、被预测将在下一读取操作中被读取的数据DATA_D(预读取数据)的预读取操作(S710)。
在预读取操作中,控制器1200的处理器1220生成与预读取操作相对应的命令队列和待被执行预读取操作的数据的地址,并且控制器1200的闪存控制电路1260基于命令队列生成用于控制存储器装置1100的预读取操作的内部命令,然后将内部命令与地址一起输出到存储器装置1100。
存储器装置1100通过响应于所接收的内部命令和所接收的地址执行预读取操作来读取预读取数据DATA_D。
由存储器装置1100读取的预读取数据被传送至控制器1200的存储器缓冲器1230(①),并且缓冲器管理块1240通过控制存储器缓冲器1230将从存储器装置1100接收的预读取数据存储在读取缓冲器1232中(S720)。
在预读取操作之后,控制器1200接收主机命令Host CMD(S730,②)。控制器1200可以接收包括写入命令和读取命令的主机命令。在本公开的实施例中,作为示例描述如在图8中所示的接收包括多个写入命令Write_A、Write_B和Write_C以及读取命令Read_D的主机命令Host CMD的情况。
处理器1220控制存储器缓冲器1230,使得与多个写入命令(Write_A、Write_B和Write_C)一起被接收的多个写入数据(DATA_A、DATA_B和DATA_C)临时存储在存储器缓冲器1230的写入缓冲器1231中(S740,③)。
而且,处理器1220确定读取命令Read_D是否对应于存储在读取缓冲器1232中的预读取数据DATA_D。
如下描述确定读取命令Read_D对应于存储在读取缓冲器1232中的预读取数据DATA_D的情况。
当确定读取命令Read_D对应于存储在读取缓冲器1232中的预读取数据DATA_D时,处理器1220响应于多个写入命令Write_A、Write_B和Write_C生成命令队列;命令队列中不包括读取命令Read_D。
闪存控制电路1260基于处理器1220生成的命令队列,生成用于控制存储器装置1100的写入操作的内部命令。而且,闪存控制电路1260将存储在写入缓冲器1231中的多个写入数据DATA_A、DATA_B和DATA_C传送至存储器装置1100(④),并且存储器装置1100响应于从控制器1200接收的内部命令以及多个写入数据DATA_A、DATA_B和DATA_C执行写入操作(S750)。
在将上述写入数据DATA_A、DATA_B和DATA_C传送至存储器装置1100的操作中,将与存储在读取缓冲器1232中的读取命令Read_D相对应的预读取数据DATA_D输出至主机1400(⑤)(S760)。也就是说,存储器缓冲器1230可以并行地执行将写入数据传送至存储器装置1100的操作和将读取数据传送至主机1400的操作。
如上所述,根据本公开的实施例,在从主机1400接收到下一读取命令之前,待在下一读取操作中读取的数据通过由预测数据执行预读取操作而存储在读取缓冲器1232中。而且,当从主机1400同时接收到写入命令和读取命令时,并行地执行通过将写入数据传送至存储器装置来执行写入操作的操作以及传送预读取数据的操作,从而可以提高存储器系统的操作速度。
如下描述从主机1400接收到的主机命令中包括的命令之中的读取命令Read_D不对应于存储在读取缓冲器1232中的预读取数据DATA_D的情况。
当确定读取命令Read_D不对应于存储在读取缓冲器1232中的预读取数据DATA_D时,处理器1220响应于多个写入命令Write_A、Write_B和Write_C以及读取命令Read_D而生成命令队列。
闪存控制电路1260基于由处理器1220生成的命令队列,生成用于控制存储器装置1100的写入操作和读取操作的内部命令,并且将内部命令传送至存储器装置1100。而且,闪存控制电路1260将存储在存储器缓冲器1230的写入缓冲器1231中的多个写入数据DATA_A、DATA_B和DATA_C传送至存储器装置1100。
存储器装置1100响应于从控制器1200接收的内部命令以及多个写入数据DATA_A、DATA_B和DATA_C顺序地执行写入操作和读取操作。
在执行读取操作之后读取的数据被临时存储在读取缓冲器1232的空白空间中,然后被输出至主机1400。
图9是示出存储器系统的另一实施例的示图。
参照图9,存储器系统30000可以被实施为蜂窝电话、智能电话、平板PC、个人数字助理(PDA)或无线通信装置。存储器系统30000可以包括存储器装置1100和能够控制存储器装置1100的操作的控制器1200。控制器1200可以在处理器3100的控制下控制存储器装置1100的数据访问操作,例如编程操作、擦除操作、读取操作等。
编程在存储器装置1100中的数据可以在控制器1200的控制下通过显示器3200被输出。
无线电收发器3300可以通过天线ANT发送/接收无线电信号。例如,无线电收发器3300可以将通过天线ANT接收的无线电信号转换成可以由处理器3100处理的信号。因此,处理器3100可以处理从无线电收发器3300输出的信号,并将处理的信号传送到控制器1200或显示器3200。控制器1200可以将由处理器3100处理的信号传送到存储器装置1100。而且,无线电收发器3300可以将从处理器3100输出的信号转换成无线电信号,并且通过天线ANT将无线电信号输出至外部装置。输入装置3400是能够输入用于控制处理器3100的操作的控制信号或待由处理器3100处理的数据的装置,并且可以被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或键盘。处理器3100可以控制显示器3200的操作,使得从控制器1200输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据可以通过显示器3200输出。
在一些实施例中,能够控制存储器装置1100的操作的控制器1200可以被实施为处理器3100的一部分或被实施为独立于处理器3100的芯片。而且,控制器1200可以利用图2中所示的控制器来实施。
图10是示出存储器系统的另一实施例的示图。
参照图10,存储器系统40000可以被实施为个人计算机(PC)、平板PC、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器。
存储器系统40000可以包括存储器装置1100和能够控制存储器装置1100的数据处理操作的控制器1200。
处理器4100可以根据通过输入装置4200输入的数据通过显示器4300输出存储在存储器装置1100中的数据。例如,输入装置4200可以被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或键盘。
处理器4100可以控制存储器系统40000的全部操作,并且控制控制器1200的操作。在一些实施例中,能够控制存储器装置1100的操作的控制器1200可以被实施为处理器4100的一部分或被实施为独立于处理器4100的芯片。而且,控制器1200可以利用图2中所示的控制器来实施。
图11是示出存储器系统的另一实施例的示图。
参照图11,存储器系统50000可以被实施为图像处理装置,例如数码相机、附设有数码相机的移动终端、附设有数码相机的智能电话或附设有数码相机的平板PC。
存储器系统50000可以包括存储器装置1100和控制器1200,该控制器1200能够控制存储器装置1100的数据处理操作,例如编程操作、擦除操作或读取操作。
存储器系统50000的图像传感器5200可以将光学图像转换为数字信号,并且经转换的数字信号可以被传送到处理器5100或控制器1200。在处理器5100的控制下,经转换的数字信号可以通过显示器5300被输出,或通过控制器1200被存储在存储器装置1100中。另外,存储在存储器装置1100中的数据可以在处理器5100或控制器1200的控制下通过显示器5300被输出。
在一些实施例中,能够控制存储器装置1100的操作的控制器1200可以被实施为处理器5100的一部分或被实施为独立于处理器5100的芯片。而且,控制器1200可以利用图2中所示的控制器来实施。
图12是示出存储器系统的另一实施例的示图。
参照图12,存储器系统70000可以被实施为存储卡或智能卡。存储器系统70000可以包括存储器装置1100、控制器1200和卡接口7100。
控制器1200可以控制存储器装置1100和卡接口7100之间的数据交换。在一些实施例中,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但本公开不限于此。而且,控制器1200可以利用图2中所示的控制器来实施。
卡接口7100可以根据主机60000的协议来接口连接主机60000和控制器1200之间的数据交换。在一些实施例中,卡接口7100可以支持通用串行总线(USB)协议和芯片间(IC)USB协议。卡接口7100可指能够支持由主机60000使用的协议的硬件、嵌入在硬件中的软件或信号传送方案。
当存储器系统70000联接到诸如PC、平板PC、数码相机、数字音频播放器、蜂窝电话、控制台视频游戏硬件或数字机顶盒的主机60000的主机接口6200时,主机接口6200可在微处理器6100的控制下通过卡接口7100和控制器1200执行与存储器装置1100的数据通信。
根据本公开的实施例,当从主机同时接收到写入命令和读取命令时,从存储器装置预读取待存储的数据,并且并行地执行写入操作和读取操作,从而可以提高存储器系统的操作性能。
虽然已经参照本公开的某些实施例示出并描述了本公开,但是本领域技术人员根据本公开将理解的是,在不脱离由所附权利要求及其等同方案限定的本发明的精神和范围的情况下,可以在形式和细节上进行各种改变。因此,本发明的范围不应限于上述实施例,而是应当由所附权利要求以及其等同方案确定。
在上述实施例中,可以选择性地整体或部分地执行一个或多个步骤或者可以省略一个或多个步骤。在每个实施例中,步骤不一定按照所描述的顺序执行,且可以重新排列。给出本说明书和附图中公开的实施例是为了便于理解本公开,而不是限制本发明。因此,虽然使用特定术语来解释本公开的实施例,但是本发明不受这些术语的限制。也就是说,对于本领域技术人员应该显而易见的是,可以基于本公开的技术范围进行各种修改。本发明涵盖所有这些修改,只要它们落入权利要求的范围内。
Claims (18)
1.一种存储器系统,包括:
存储器装置,对数据执行写入操作和读取操作;以及
控制器,响应于从主机接收的命令控制所述存储器装置执行所述写入操作和所述读取操作,
其中所述控制器响应于接收的命令之中、对应于所述读取操作的读取命令来控制所述存储器装置,对与所述读取命令相对应的第一地址的数据执行所述读取操作并且对与尚未接收的读取命令相对应的第二地址的数据执行预读取操作,将对应于所述读取操作的读取数据传送至所述主机,并且存储对应于所述预读取操作的预读取数据。
2.根据权利要求1所述的存储器系统,其中当与在所述预读取操作之后接收的读取命令相对应的地址是所述第二地址时,所述控制器响应于在所述预读取操作之后接收的读取命令将所述预读取数据传送至所述主机。
3.根据权利要求2所述的存储器系统,其中当所述接收的命令是对应于所述写入操作的写入命令时,所述控制器将对应于所述写入命令的写入数据传送至所述存储器装置。
4.根据权利要求3所述的存储器系统,其中所述控制器包括:
处理器,响应于所述接收的命令生成第一命令,并且生成对应于所述预读取操作的第二命令;
存储器缓冲器,存储所述写入数据、所述读取数据和所述预读取数据;以及
闪存控制电路,响应于所述第一命令生成控制所述存储器装置执行所述写入操作或所述读取操作的第一内部命令,或者响应于所述第二命令生成控制所述存储器装置执行所述预读取操作的第二内部命令,并且将所述第一内部命令或所述第二内部命令传送至所述存储器装置。
5.根据权利要求4所述的存储器系统,其中所述控制器控制所述存储器缓冲器,使得:
在所述预读取操作中从所述存储器装置接收的所述预读取数据存储在所述存储器缓冲器中;并且
在将所述存储器缓冲器中存储的所述预读取数据传送至所述主机的时段,存储在所述存储器缓冲器中的所述写入数据被传送至所述存储器装置。
6.根据权利要求4所述的存储器系统,其中当在所述预读取操作之后接收的所述读取命令对应于所述预读取数据时,所述控制器控制所述存储器缓冲器,使得在将存储在所述存储器缓冲器中的所述写入数据传送至所述存储器装置的时段,所述存储器缓冲器中存储的所述预读取数据被传送至所述主机。
7.根据权利要求4所述的存储器系统,其中所述处理器基于读取先行方法即RLA方法生成对应于所述预读取操作的所述第二命令。
8.根据权利要求7所述的存储器系统,其中所述控制器进一步包括缓冲器管理块,所述缓冲器管理块控制所述存储器缓冲器,使得所述写入数据存储在所述存储器缓冲器中,并且从所述存储器装置接收的所述读取数据和所述预读取数据存储在所述存储器缓冲器中。
9.根据权利要求8所述的存储器系统,其中所述缓冲器管理块控制所述存储器缓冲器并行地执行将所述写入数据传送至所述存储器装置的操作以及将所述预读取数据传送至所述主机的操作。
10.根据权利要求7所述的存储器系统,其中所述处理器通过选择具有高访问频率的地址、在所述第一地址之后的逻辑地址或基于所述第一地址预测所述预读取操作的地址作为所述第二地址来生成所述第二命令。
11.一种存储器系统,包括:
存储器装置,执行写入操作、读取操作和预读取操作;以及
控制器,响应于从主机接收的主机命令控制所述存储器装置执行所述写入操作和所述读取操作,并且在接收到对应于特定地址的所述主机命令之前,控制所述存储器装置对所述特定地址执行预读取操作,
其中所述控制器基于读取先行方法即RLA方法选择待被执行所述预读取操作的所述特定地址,从所述存储器装置接收通过执行所述预读取操作而获得的、从所述存储器装置读取的预读取数据,存储所述预读取数据,并且当在所述预读取操作之后接收的所述主机命令对应于所述特定地址时,将所述预读取数据传送至所述主机。
12.根据权利要求11所述的存储器系统,其中所述主机命令包括对应于所述写入操作的写入命令和对应于所述读取操作的读取命令。
13.根据权利要求12所述的存储器系统,其中当在所述预读取操作之后接收的所述主机命令中包括的所述读取命令对应于所述特定地址时,所述控制器并行地执行将与所述主机命令中包括的所述写入命令相对应的写入数据传送至所述存储器装置的操作以及将所述预读取数据传送至所述主机的操作。
14.根据权利要求13所述的存储器系统,其中所述控制器包括:
处理器,响应于接收的主机命令生成第一命令队列,并且响应于所述接收的主机命令生成对应于所述预读取操作的第二命令队列;
存储器缓冲器,存储所述写入数据、所述读取数据和所述预读取数据;以及
闪存控制电路,响应于所述第一命令队列生成控制所述存储器装置执行所述写入操作或所述读取操作的第一内部命令,或者响应于所述第二命令队列生成控制所述存储器装置执行所述预读取操作的第二内部命令,并且将所述第一内部命令或所述第二内部命令传送至所述存储器装置。
15.根据权利要求14所述的存储器系统,其中所述控制器进一步包括缓冲器管理块,所述缓冲器管理块控制所述存储器缓冲器,使得在所述预读取操作中从所述存储器装置接收的所述读取数据存储在所述存储器缓冲器中,并且控制所述存储器缓冲器使得在将存储在所述存储器缓冲器中的所述写入数据传送至所述存储器装置的时段,所述存储器缓冲器中存储的所述预读取数据被传送至所述主机。
16.根据权利要求15所述的存储器系统,其中当所述主机命令中包括的所述读取命令对应于所述特定地址时,所述缓冲器管理块控制所述存储器缓冲器使得在将存储在所述存储器缓冲器中的所述写入数据传送至所述存储器装置的时段,所述存储器缓冲器中存储的所述预读取数据被传送至所述主机。
17.根据权利要求11所述的存储器系统,其中控制器选择所述特定地址,使得所述特定地址对应于具有高访问频率的数据、具有在最近请求的数据的逻辑地址之后的逻辑地址的数据或基于所述主机的使用模式被预测预读取的数据。
18.一种存储器系统,包括:
存储器装置,存储有数据并且从所述存储器装置读取数据;以及
控制器:
控制所述存储器装置根据读取先行方案即RLA方案执行读取数据的预读取操作,并且缓冲在所述预读取操作中读取的数据,即预读取数据;并且
在响应于来自外部源的写入请求控制所述存储器装置执行写入操作的同时,响应于来自所述外部源的针对所述预读取数据的读取请求将缓冲的预读取数据提供至所述外部源,
其中所述预读取数据是存储在所述存储器装置中的数据之中被频繁请求读取的数据、基于先前读取请求的模式而确定的数据、在数据被读取的最新逻辑地址之后的逻辑地址的数据中的至少一种。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180165626A KR20200076491A (ko) | 2018-12-19 | 2018-12-19 | 메모리 시스템 및 그것의 동작 방법 |
KR10-2018-0165626 | 2018-12-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111338976A true CN111338976A (zh) | 2020-06-26 |
Family
ID=71098481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910849749.6A Withdrawn CN111338976A (zh) | 2018-12-19 | 2019-09-09 | 存储器系统以及存储器系统的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200201571A1 (zh) |
KR (1) | KR20200076491A (zh) |
CN (1) | CN111338976A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131144A (zh) * | 2020-09-27 | 2020-12-25 | 深圳市芯天下技术有限公司 | 串行接口nand存储芯片及从其中读取数据的方法 |
CN112631525A (zh) * | 2020-12-30 | 2021-04-09 | 安徽鸿程光电有限公司 | 存储及显示方法、装置、设备及介质 |
CN113867619A (zh) * | 2020-06-30 | 2021-12-31 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
CN114371812A (zh) * | 2020-10-16 | 2022-04-19 | 爱思开海力士有限公司 | 控制器及其操作方法 |
US11934309B2 (en) | 2020-04-13 | 2024-03-19 | SK Hynix Inc. | Memory controller, storage device including the memory controller, and method of operating the memory controller and the storage device |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11137943B2 (en) * | 2020-03-04 | 2021-10-05 | Micron Technology, Inc. | Internal commands for access operations |
US20230169008A1 (en) * | 2021-11-30 | 2023-06-01 | Red Hat, Inc. | Managing prefetching operations for drives in distributed storage systems |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050060486A1 (en) * | 2003-09-16 | 2005-03-17 | Samsung Electronics Co., Ltd. | Dual buffer memory system for reducing data transmission time and control method thereof |
CN101882061A (zh) * | 2009-05-08 | 2010-11-10 | 富士通株式会社 | 存储器控制方法和存储器控制装置 |
WO2014101422A1 (zh) * | 2012-12-27 | 2014-07-03 | 华为技术有限公司 | 一种写合并属性内存空间的分配方法及装置 |
US20180081569A1 (en) * | 2016-09-22 | 2018-03-22 | Dell Products, Lp | System and method for adaptive optimization for performance in solid state drives based on segment access frequency |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6031758A (en) * | 1996-02-29 | 2000-02-29 | Hitachi, Ltd. | Semiconductor memory device having faulty cells |
CN103500076A (zh) * | 2013-10-13 | 2014-01-08 | 张维加 | 一种基于多通道slc nand与dram缓存的新usb协议计算机加速设备 |
KR20180049338A (ko) * | 2016-10-31 | 2018-05-11 | 삼성전자주식회사 | 저장 장치 및 그것의 동작 방법 |
-
2018
- 2018-12-19 KR KR1020180165626A patent/KR20200076491A/ko unknown
-
2019
- 2019-08-02 US US16/530,664 patent/US20200201571A1/en not_active Abandoned
- 2019-09-09 CN CN201910849749.6A patent/CN111338976A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050060486A1 (en) * | 2003-09-16 | 2005-03-17 | Samsung Electronics Co., Ltd. | Dual buffer memory system for reducing data transmission time and control method thereof |
CN101882061A (zh) * | 2009-05-08 | 2010-11-10 | 富士通株式会社 | 存储器控制方法和存储器控制装置 |
WO2014101422A1 (zh) * | 2012-12-27 | 2014-07-03 | 华为技术有限公司 | 一种写合并属性内存空间的分配方法及装置 |
US20180081569A1 (en) * | 2016-09-22 | 2018-03-22 | Dell Products, Lp | System and method for adaptive optimization for performance in solid state drives based on segment access frequency |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11934309B2 (en) | 2020-04-13 | 2024-03-19 | SK Hynix Inc. | Memory controller, storage device including the memory controller, and method of operating the memory controller and the storage device |
CN113867619A (zh) * | 2020-06-30 | 2021-12-31 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
CN112131144A (zh) * | 2020-09-27 | 2020-12-25 | 深圳市芯天下技术有限公司 | 串行接口nand存储芯片及从其中读取数据的方法 |
CN112131144B (zh) * | 2020-09-27 | 2023-09-26 | 芯天下技术股份有限公司 | 串行接口nand存储芯片及从其中读取数据的方法 |
CN114371812A (zh) * | 2020-10-16 | 2022-04-19 | 爱思开海力士有限公司 | 控制器及其操作方法 |
CN114371812B (zh) * | 2020-10-16 | 2024-04-02 | 爱思开海力士有限公司 | 控制器及其操作方法 |
CN112631525A (zh) * | 2020-12-30 | 2021-04-09 | 安徽鸿程光电有限公司 | 存储及显示方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20200076491A (ko) | 2020-06-29 |
US20200201571A1 (en) | 2020-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111338976A (zh) | 存储器系统以及存储器系统的操作方法 | |
CN111324550B (zh) | 存储器系统及其操作方法 | |
US20200202952A1 (en) | Controller, memory system including the controller, and operating method of the memory system | |
US10930350B2 (en) | Memory device for updating micro-code, memory system including the memory device, and method for operating the memory device | |
CN111833926A (zh) | 存储器系统及操作存储器系统的方法 | |
KR20200117256A (ko) | 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US11004504B2 (en) | Controller, memory system including the controller, and operating method of the memory system | |
US20210210148A1 (en) | Memory system and operating method thereof | |
CN111240585B (zh) | 控制器、包括控制器的存储器系统及其操作方法 | |
US11113189B2 (en) | Memory system to perform read reclaim and garbage collection, and method of operating the same | |
US11841805B2 (en) | Memory system for storing map data in host memory and operating method of the same | |
US20200160918A1 (en) | Memory system and method of operating the same | |
US20200125281A1 (en) | Memory system and method of operating the same | |
CN112017716A (zh) | 存储器装置、包括其的存储器系统及存储器系统操作方法 | |
CN113220217A (zh) | 存储器系统及其操作方法 | |
CN111755055A (zh) | 控制器、包括控制器的存储器系统及其操作方法 | |
CN111863056A (zh) | 存储器系统及操作存储器系统的方法 | |
US20210134383A1 (en) | Memory system and operating method of the memory system | |
US11495305B2 (en) | Semiconductor memory device and operating method thereof | |
KR20240085237A (ko) | 메모리 장치, 이를 포함하는 메모리 시스템 및 그것의 동작 방법 | |
KR20200068496A (ko) | 메모리 장치, 이를 포함하는 메모리 시스템 및 그것의 동작 방법 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200626 |
|
WW01 | Invention patent application withdrawn after publication |