CN107957958A - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN107957958A CN107957958A CN201710657598.5A CN201710657598A CN107957958A CN 107957958 A CN107957958 A CN 107957958A CN 201710657598 A CN201710657598 A CN 201710657598A CN 107957958 A CN107957958 A CN 107957958A
- Authority
- CN
- China
- Prior art keywords
- buffer
- data
- storage
- pbid
- mapping table
- 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
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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/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/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- 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/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
本发明提供一种存储器控制装置,其可以包括:缓冲存储器,在该缓冲存储器中通过时隙单元访问数据;以及缓冲器接口,其适于控制对缓冲存储器的访问。缓冲器接口可以包括:映射表,其适于存储多个虚拟时隙识别信息(VBID)和多个物理时隙识别信息(PBID)之间的映射;缓冲器分配单元,其适于基于将写入缓冲存储器中的数据的大小确定映射表的起始VBID和时隙的数量(NID),并且将空闲状态的PBID分配到映射表中的缓冲器时隙序列,缓冲器时隙序列包括基于起始VBID和NID确定的时隙;以及缓冲器访问单元,其适于基于映射表访问在缓冲存储器的PBID的位置处的数据。
Description
相关申请的交叉引用
本申请要求于2016年10月17日向韩国知识产权局提交的申请号为10-2016-0134229的韩国专利申请的优先权,其公开内容通过引用而整体并入本文。
技术领域
示例性实施例涉及一种存储器系统,并且更特别地,涉及一种存储器系统及其操作方法。
背景技术
近来,计算机环境的范例转变成允许用户随时随地访问计算机系统的普适计算环境。由于该原因,诸如移动电话、数码相机和膝上型计算机等的便携式电子装置的使用快速增长。便携式电子装置通常采用作为数据存储装置的使用存储器装置的存储器系统。数据存储装置可以用作便携式电子装置的主存储器装置或辅助存储器装置。
由于使用存储器装置的数据存储装置不包括机械驱动单元,因此数据存储装置具有优良的稳定性和耐久性。并且,使用存储器装置的数据存储装置的优点在于其可以快速访问数据并消耗少量的功率。具有这些优点的数据存储装置的非限制性示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)等。
在存储器系统中,写入数据可用于将数据存储在存储器装置中。例如,关于固态驱动器(SSD)装置的来自主机的写入命令可以被定义为将数据写入存储器装置中。并且,在存储器系统中,读取数据可以用于读取存储在存储器装置中的数据。例如,关于SSD装置的来自主机的读取命令可以被定义为从存储器装置读取数据。当将数据写入存储器装置中或读取在存储器装置中写入的数据时,存储器系统可以在缓冲存储器中缓冲数据。
在存储器系统中,当访问缓冲存储器时,随机访问方案需要用于每个块的缓冲器指针,并且顺序访问方案具有管理缓冲器指针的开销(overhead)。
发明内容
各个实施例涉及一种装置和方法,其能够将至缓冲器的数据划分为每一个具有预定大小的多个时隙并且通过一个指针缓冲多个时隙的数据。
并且,各个实施例涉及一种存储器系统,其基于主机命令和数据大小将缓冲存储器的物理地址信息映射到虚拟地址信息,并且基于映射的地址信息来访问接收的数据。
在实施例中,存储器控制装置可以包括:缓冲存储器,在该缓冲存储器中通过时隙单元访问数据;以及缓冲器接口,其适于控制对缓冲存储器的访问。缓冲器接口可以包括:映射表,其适于存储多个虚拟时隙识别信息(VBID)和多个物理时隙识别信息(PBID)之间的映射;缓冲器分配单元,其适于基于将写入缓冲存储器中的数据的大小来确定映射表的起始VBID和时隙的数量(NID),并且将空闲状态的PBID分配到映射表中的缓冲器时隙序列,缓冲器时隙序列包括基于起始VBID和NID确定的时隙;以及缓冲器访问单元,其适于基于映射表访问在缓冲存储器的PBID的位置处的数据。
在实施例中,存储器系统可以包括:主机;存储器装置;以及控制器,其联接到主机和存储器装置。控制器可以包括:主机接口,其适于将访问命令和数据与主机接口连接;存储器接口,其适于将访问命令和数据与存储器装置接口连接;缓冲存储器,在该缓冲存储器中通过时隙单元访问数据;以及缓冲器接口,其适于生成映射表并且基于映射表将数据缓冲在缓冲存储器中,其中映射表存储基于来自主机接口的访问命令和数据大小通过时隙单元访问的缓冲存储器的多个虚拟时隙与多个物理时隙之间的映射。
在实施例中,一种访问缓冲存储器的方法,在该缓冲存储器中通过时隙单元访问数据,该方法可以包括:基于将写入缓冲存储器的数据的大小确定映射表的起始虚拟时隙识别信息(VBID)和时隙的数量(NID),其中映射表存储多个虚拟时隙识别信息(VBID)和多个物理时隙识别信息(PBID)之间的映射;将空闲状态的PBID分配到映射表中的缓冲器时隙序列,缓冲器时隙序列包括基于起始VBID和NID确定的时隙;以及基于映射表访问在缓冲存储器的PBID的位置处的数据。
在实施例中,一种存储器系统的操作方法,该存储器系统包括缓冲存储器,在该缓冲存储器中通过时隙单元访问数据,该方法可以包括:从主机接口接收访问命令和关于数据大小的信息;生成映射表并基于映射表将数据缓冲在缓冲存储器中的缓冲器接口进程,其中映射表存储基于访问命令和数据大小通过时隙单元访问的缓冲存储器的多个虚拟时隙与多个物理时隙之间的映射;以及将缓冲在缓冲存储器中的数据传输到存储器装置或主机中的其中一个。
附图说明
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的框图。
图2是示意性地示出根据本发明的实施例的包括在存储器系统中的存储器装置的图。
图3是示意性地示出根据本发明的实施例的包括在存储器装置中的存储块的存储器单元阵列电路的图。
图4是示意性地示出根据本发明的实施例的存储器系统中的存储器装置的结构的图。
图5是示出根据实施例的存储器系统的图。
图6是示出根据实施例的存储器装置的图。
图7是示出根据实施例的缓冲器接口的图。
图8是示出根据实施例的时隙状态表的图。
图9是示出根据实施例的映射表的图。
图10是示出根据实施例的映射表的示例的图。
图11A和图11B是示出缓冲器访问操作的示例的图。
图12是示出根据实施例的缓冲器分配操作的流程图。
图13是示出根据实施例的缓冲器访问操作的流程图。
图14是示出根据实施例的用于将数据写入存储器系统的存储器装置中的操作的图。
图15是示出根据实施例的用于从存储器系统中的存储器装置读取数据的操作的图。
图16至图21是示出包括根据本发明的实施例的存储器系统的数据处理系统的其它示例的框图。
具体实施方式
以下将参照附图更详细地描述各个实施例。然而,本发明可以以不同的形式体现并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完全的,并且将向本领域技术人员完全传达本发明的范围。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。
附图不一定按比例绘制,在一些情况下,为了更清楚地示出实施例的各种元件,可以夸大比例。例如,在附图中,为了便于说明,与实际尺寸和间隔相比,元件的尺寸和元件之间的间隔可以被夸大。
将进一步理解的是,当元件被称为“连接至”或“联接至”另一元件时,它可以直接在其它元件上、连接至或联接至其它元件,或可存在一个或多个中间元件。另外,也将理解的是,当元件被称为在两个元件“之间”时,其可以是两个元件之间仅有的元件或也可存在一个或多个中间元件。
为了便于描述,在本文中可以使用诸如“下面”、“下方”、“下”、“上方”、“上”等的空间相对术语以描述如图所示的一个元件或特征与另一元件或特征的关系。将理解的是,除了附图中描绘的方位之外,空间相对术语旨在包括装置在制造、使用或操作中的不同方位。例如,如果附图中的装置被翻转,则被描述为在其它元件或特征“下方”或“下面”的元件将在其它元件或特征“上方”。装置可以以其它方式定向、旋转90度或在其它方位处,并且本文使用的空间相对描述符应当被相应地解释。
本文使用的术语的目的仅是描述特定实施例而不旨在限制本发明。如本文使用的,单数形式也旨在包括复数形式,除非上下文另有清楚地说明。将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指定阐述的元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关的所列项目的任何一个和所有组合。
除非另有定义,否则本文所使用的包括技术术语和科学术语的所有术语具有与本发明所属领域中普通技术人员基于本公开通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中定义的那些术语的术语应被理解为具有与它们在本公开的上下文和相关领域中的含义一致的含义并且将不以理想化或过于正式的意义来解释,除非本文如此明确地定义。
在以下描述中,为了提供本发明的彻底理解,阐述许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实践。在其它情况下,为了不使本发明产生不必要模糊,未详细地描述公知的进程结构和/或进程。
同样注意的是,在一些情况下,对相关领域的技术人员显而易见的是,结合一个实施例描述的并可被称为特征的元件可单独使用或与另一实施例的其它元件结合使用,除非另有明确说明。
在下文中,将参照附图详细地描述本发明的各个实施例。
图1示出根据本发明的实施例的包括存储器系统110的数据处理系统100。
参照图1,数据处理系统100可以包括主机102和存储器系统110。
主机102可以是任何合适的电子装置。例如,主机102可以是或包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、电视(TV)和投影仪的非便携式电子装置。
存储器系统110可以响应于来自主机102的请求来操作。例如,存储器系统110可以存储由主机102提供的数据,并且存储器系统110还可以将存储的数据提供给主机102。存储在存储器系统中的数据可以由主机102访问。存储器系统110可以用作主机102的主存储器或辅助存储器。根据将与主机102电联接的主机接口的协议,存储器系统110可以利用各种存储装置中的任意一种来实施。存储器系统110可以利用诸如以下的各种存储装置中的任意一种来实施:固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)、微型MMC、安全数字(SD)卡、迷你SD、微型SD、通用串行总线(USB)存储装置、通用闪存(UFS)装置、标准闪存(CF)卡、智能媒体(SM)卡、记忆棒等。
形成存储器系统110的存储装置可以利用诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的易失性存储器装置或诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器的非易失性存储器装置来实施。
存储器系统110可以包括存储器装置150和控制器130。存储器装置150可以存储可以由主机102访问的数据。控制器130可以控制存储器装置150和主机102之间的数据交换。例如,在控制器130的控制下,从主机接收的数据可以被存储在存储器装置150中,并且存储器装置150中存储的数据可以被读取并被传输到主机102。
控制器130和存储器装置150可以被集成到一个半导体装置中。例如,控制器130和存储器装置150可以被集成到一个半导体装置中以形成固态驱动器(SSD)。当存储器系统110用作SSD时,可以显著增大与存储器系统110电联接的主机102的操作速度。
控制器130和存储器装置150可以集成到一个半导体装置中以形成诸如以下的存储卡:例如,个人计算机存储卡国际协会(PCMCIA)卡、标准闪存(CF)卡、智能媒体卡(SMC)、记忆棒、多媒体卡(MMC)、RS-MMC、微型MMC、安全数字(SD)卡、迷你SD、微型SD、SDHC、通用闪存(UFS)装置。
即使在电源被中断时,存储器装置150仍然可以保留存储的数据,在写入操作期间存储由主机102提供的数据,并且在读取操作期间将存储的数据提供给主机102。存储器装置150可以包括多个存储块152、154和156。存储块152、154和156中的每一个可以包括多个页面。页面中的每一个可以包括电联接到字线(WL)的多个存储器单元。存储器单元可以是单位单元或多位单元。存储器单元可以被布置成二维堆叠结构或三维堆叠结构。存储器装置150可以是例如闪速存储器的非易失性存储器装置。闪速存储器可以具有三维(3D)堆叠结构。
控制器130可以控制存储器装置150的诸如读取操作、写入操作、编程操作和擦除操作的全部操作。
例如,控制器130可以包括主机接口(I/F)单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、NAND闪存控制器(NFC)142和存储器144。
主机接口单元132可以处理从主机102提供的命令和数据,并且可以通过诸如以下的各种接口协议中的至少一种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)和集成驱动电子设备(IDE)。
ECC单元138可以在读取操作期间检测并校正从存储器装置150读取的数据中的错误。当错误位的数量大于可校正错误位的阈值数量时,ECC单元138可以不校正错误位,然后可以输出指示校正错误位失败的错误校正失败信号。
ECC单元138可以基于包括诸如低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、格形编码调制(TCM)、分组编码调制(BCM)等的编码调制的任何合适的方法来执行错误校正操作。ECC单元138可以包括用于错误校正操作的所有电路、系统或装置。
PMU 140可以提供和管理控制器130的电源,即,包括在控制器130中的组成元件的电源。
NFC 142可以用作控制器130和存储器装置150之间的存储器接口以允许控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器时,并且特别地,当存储器装置150是NAND闪速存储器时,NFC 142可以在处理器134的控制下生成用于存储器装置150的控制信号并处理数据。注意的是,根据采用的存储器装置的类型,可以采用不同的存储器接口。
存储器144可以用作存储器系统110和控制器130的工作存储器。存储器144可以存储用于驱动存储器系统110和控制器130的数据。控制器130可以响应于来自主机102的请求来控制存储器装置150。例如,控制器130可以将从存储器装置150读取的数据提供给主机102,并且将从主机102提供的数据存储在存储器装置150中。当控制器130控制存储器装置150的诸如读取操作、写入操作、编程操作和擦除操作的操作时,存储器144可以存储由控制器130和存储器装置150用于操作的数据。
存储器144可以利用诸如例如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)的易失性存储器来实施。如上所述,存储器144可以存储由主机102和存储器装置150用于包括读取操作和写入操作的操作的数据。为了存储数据,存储器144可以包括编程存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
处理器134可以控制存储器系统110的一般操作,并且可以分别响应于从主机102接收的写入请求或读取请求来控制存储器装置150的写入操作或读取操作。例如,处理器134可以驱动被称为闪存转换层(FTL)的固件来控制存储器系统110的一般操作。处理器134可以利用例如微处理器或中央处理单元(CPU)来实施。
图2是示出根据本发明的实施例的存储器系统的存储器装置的示例的图。图3是示意性地示出根据本发明的实施例的在存储器装置中的存储块的存储器单元阵列电路的图。图4是示意性地示出根据本发明的实施例的存储器装置的结构的图,其中存储器装置可以被实现为3维非易失性存储器装置。
参照图2,存储器装置150可以包括多个存储块。例如,存储器装置150可以包括第零存储块(块0)210、第一存储块(块1)220、第二存储块(块2)230和第N-1存储块(块N-1)240。存储块210至240的每一个可以包括多个页面,例如2M个页面(2M页面)。页面中的每一个可以包括电联接到字线的多个存储器单元。
此外,根据每个存储器单元中可以存储或表达的位的数量,存储器装置150可以包括多种存储块,如单层单元(SLC)存储块和/或多层单元(MLC)存储块。SLC存储块可以包括由每一个能够存储1位数据的存储器单元实施的多个页面。MLC存储块可以包括由每一个能够存储例如两位或更多位数据的多位数据的存储器单元实施的多个页面。包括由每个能够存储3位数据的存储器单元实施的多个页面的MLC存储块也可以被称为三层单元(TLC)存储块。
存储块210至240中的每一个可以在写入操作期间存储从主机102提供的数据,并且在读取操作期间将存储的数据提供给主机102。
参照图3,存储块330可以包括分别电联接到多个相应的位线BL0至BLm-1的多个单元串340。每一列的单元串340可以包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。多个存储器单元晶体管MC0至MCn-1可以串联地电联接在选择晶体管SST和DST之间。各个存储器单元MC0至MCn-1可以由多层单元(MLC)配置,每个多层单元存储多个位的数据信息。作为参考,在图3中,“DSL”表示漏极选择线,即串选择线,“SSL”表示源极选择线,即接地选择线,“CSL”表示共源线。
存储器装置150的读取/写入电路320可以由控制电路控制,并且可以根据操作模式用作读出放大器或写入驱动器。在验证/正常读取操作期间,读取/写入电路320可以用作用于从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可以用作根据将存储在存储器单元阵列中的数据驱动位线的写入驱动器。读取/写入电路320可以在编程操作期间从缓冲器(未示出)接收将写入存储器单元阵列中的数据,并且可以根据输入的数据来驱动位线。读取/写入电路320可以包括分别对应于列或位线或列对或位线对的多个页面缓冲器(PB)322、324和326,并且多个锁存器(未示出)可以被包括在页面缓冲器322、324和326中的每一个中。
存储器装置150可以被实现为2维存储器装置或3维存储器装置。例如,如图4所示,当存储器装置150被实现为3维非易失性存储器装置时,存储器装置150可以包括多个存储块BLK0至BLKN-1。例如,各个存储块BLK0至BLKN-1可以通过包括在例如x轴方向、y轴方向和z轴方向的第一方向至第三方向上延伸的结构被实现为3维结构。
各个存储块BLK0至BLKN-1可以包括在第二方向上延伸的多个NAND串。多个NAND串可以被设置在第一方向和第三方向上。每个NAND串可以电联接到位线、至少一个漏极选择线、至少一个源极选择线、多个字线、至少一个虚拟字线和共源线,并且包括多个晶体管结构。
本公开的各个实施例涉及一种用于访问电子装置或存储器系统中的缓冲存储器的装置和方法。电子装置或存储器系统可以随机地或顺序地处理主机装置的通信量(traffic)。当访问缓冲器时,可以使用随机方案和顺序方案中的其中一个。随机方案可以通过例如512字节、4K字节等的预定时隙表示数据。顺序方案可以通过连续寻址表示具有大于时隙单元的大小的数据。根据表示数据缓冲器的方式,随机方案和顺序方案可以具有不同的效率。例如,在随机方案的描述符可以由优化为随机的指针来定义(例如,时隙是4K字节)的同时,顺序方案的描述符可能需要对N个时隙的描述,时隙的每一个是例如4KB的随机方案。根据本公开的各个实施例的存储器系统或存储器装置可以提供能够通过随机方案和/或顺序方案一致地表示数据的装置和方法。
图5是示出根据实施例的存储器系统的图。
参照图5,存储器系统可以包括控制器500。控制器500可以是电子装置的控制单元。电子装置可以包括例如智能电话、平板个人计算机(PC)、移动电话、视频电话、电子书阅读器、台式PC、膝上型PC、上网本计算机、工作站、服务器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器、医疗器械、相机和可穿戴式装置中的至少一个。
在一些实施例中,控制器500可以包括联接到主机装置的固态驱动器(SSD)或嵌入式多媒体卡(eMMC)。主机装置可以包括电子装置。如果控制器500是SSD,则存储器系统可以被配置为响应于外部装置的写入请求,将从例如主机装置的外部装置提供的编程数据写入存储器装置中。在以下描述中,写入和编程可以被用作具有相同含义的术语。此外,存储器系统可以被配置为响应于外部装置的读取请求,将写入存储器装置中的数据提供给外部装置。存储器系统可以由个人计算机存储卡国际协会(PCMCIA)卡,标准闪存(CF)卡,智能媒体卡,记忆棒,MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡,SD、迷你SD和微型SD形式的安全数字卡,通用闪存(UFS)或固态驱动器(SSD)配置。
图5示出根据实施例的作为存储器系统的SSD装置的配置的示例。控制器500可以包括处理器510、主机接口520、存储器接口525、缓冲器接口530、缓冲存储器540和总线(片上总线)545。
主机接口520可以在控制器500和主机590之间执行接口功能。存储器接口525可以在控制器500和存储器装置550之间执行接口功能。
缓冲存储器540可以通过动态随机存取存储器(DRAM)和/或静态随机存取存储器(SRAM)来配置。缓冲存储器540可以包括在主机590和存储器装置550之间临时存储数据的缓冲器区域、存储存储器系统的信息的高速缓存区域、存储存储器系统的程序的编程区域等。根据本公开的实施例的缓冲存储器540被描述为当将数据从主机590传输到存储器装置550或将数据从存储器装置550传输到主机590时临时存储数据的缓冲器。处理器510可以控制存储器系统的一般操作。处理器510可以通过控制缓冲器接口530来控制响应于例如从主机590接收的写入命令或编程命令的写入请求而将数据存储在存储器装置550中的操作以及响应于例如来自主机590的读取命令的读取请求而读取写入存储器装置550中的数据并将读出数据输出到主机590的操作。缓冲器接口530可以在处理器510的控制下将数据从主机接口520或存储器接口525传输到缓冲存储器540,并且将存储在缓冲存储器540中的数据输出到存储器接口525或主机接口520。总线545可以与控制器500中的处理器510、主机接口520、存储器接口525、缓冲器接口530和缓冲存储器540联接,并且提供数据、命令和/或控制信号的路径。
主机590可以用作利用协议寻址存储器装置550的主体。主机接口520可以用作与主机590通信的信道。主机接口520可以是SATA、PCI-e、eMMC或UFS。存储器接口525可以用作实际访问(读取、编程或擦除)存储器装置550的主体。缓冲器接口530可以用作控制缓冲存储器540的主体。缓冲器接口530可以被包括在处理器510中。
图6是示出根据实施例的存储器装置550的图。
参照图6,存储器装置550可以包括存储器控制单元或编程逻辑610、电压供给单元620、行解码器630、存储器单元阵列640、列解码器650和编程/读取电路660。
存储器装置550可以包括诸如以下的闪速存储器装置:NAND闪存或NOR闪存、铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁性随机存取存储器(MRAM)或电阻式随机存取存储器(ReRAM)。在以下描述中,存储器装置550可以被描述为作为非易失性存储器装置的NAND闪存。
存储器单元阵列640可以联接到多个字线(WL)和多个位线(BL)。存储器单元阵列640可以包括分别设置在多个字线和多个位线彼此相交的区域处的多个存储器单元。存储器单元阵列640可以与命令(CMD)一起接收用于指示将访问的存储器单元的地址(ADDR)。地址(ADDR)可以包括用于选择存储器单元阵列640的字线(WL)的行地址(X_ADDR)和用于选择存储器单元阵列640的位线(BL)的列地址(Y_ADDR)。
行解码器630可以通过字线(WL)联接到存储器单元阵列640,并且响应于行地址(X_ADDR)来选择字线(WL)中的至少一个。列解码器650可以通过位线(BL)联接到存储器单元阵列640,并且响应于列地址(Y_ADDR)来选择位线(BL)中的至少一个。
编程/读取电路660可以包括编程(PGM)电路663和读取电路665。编程电路663可以通过列解码器650联接到选择的位线(BL),并且通过将编程脉冲提供给存储器单元阵列640的选择的存储器单元来执行编程操作,即数据写入操作。读取电路665可以通过列解码器650联接到选择的位线(BL),感测存储器单元阵列640的选择的存储器单元的电平,并且读取或输出存储在选择的存储器单元中的数据。读取电路665可以将数据输出到例如控制器500的存储器装置550的外部。
电压供给单元620可以基于存储器控制单元610的电压控制来生成用于对存储器单元阵列640执行编程操作、读取操作和擦除操作的各种类型的电压。进一步地,电压供给单元620可以生成用于驱动多个字线(WL)和多个位线(BL)的驱动电压或偏置电压,例如设置编程电压、重置电压、读取电压和截止电压。
存储器控制单元610可以基于从控制器500接收的命令(CMD)、地址(ADDR)和控制信号(CTRL)将用于将数据编程到存储器单元阵列640或从存储器单元阵列640读取数据的电压控制信号输出到电压供给单元620。存储器控制单元610可以将从控制器500接收的操作控制信号提供给编程/读取电路660、电压供给单元620、行解码器630和列解码器650。存储器控制单元610通常可以控制存储器装置550中的操作。
再次参照图5,存储器系统可以分析来自主机590的命令或请求并将命令或请求转发到存储器装置550,或从存储器装置550读取数据并将数据转发到主机590。存储器系统具有关于主机590的转发功能。缓冲器接口530可以进一步包括管理缓冲存储器540的使用、释放和寻址的部件。
下面将描述缓冲存储器540的随机存取方案和顺序存取方案。
主机590的命令集可以包括关于数据大小的命令、地址和信息。例如,命令集可以是READ(ADDR,SIZE-1)、WRITE(ADDR,SIZE-1)等。命令集的READ和WRITE可以是分别请求存储器装置550的数据读取操作和数据写入操作的命令。当存储器装置550是闪速存储器时,主机590可以通过例如逻辑块地址(LBA)的地址值来指定写入或读取数据的位置,并且指定读取或写入的数据的大小。读取或写入的最小单元可以是例如512字节或4K字节的一个页面。最大大小可以被定义为最小单元的N倍。例如,在4K字节的情况下,数据大小可以由4K字节的一倍、两倍或四倍来表示。在128K字节的情况下,数据大小可以由4K字节的32倍来表示。在该情况下,命令可以被表示为WRITE(0x100,0)、WRITE(0x100,1)、WRITE(0x100,3)和WRITE(0x100,31)。这些可以意味着将(0+1)、(1+1)、(3+1)和(31+1)个4K字节传送到具有地址0x100的存储器区域。
命令集可以由主机接口520获取,并且被传送到处理器510。处理器510可以分析接收的命令集。例如,在WRITE(0x100,31)的命令集的情况下,处理器510可以检查32个4K字节数据到0x100的连续写入。然后,处理器510可以指示主机接口520将32个4K字节的数据存储在缓冲存储器540中。如果主机接口520和缓冲器接口530将所有相应的数据量存储在缓冲存储器540中,则处理器510可以指示存储器接口525和缓冲器接口530从缓冲存储器540读取128K字节的数据并且将读出的数据传输到存储器装置550。如果相应的操作由存储器接口525完成,则处理器510可以将通知数据存储完成的响应传输到主机590。
缓冲器接口530相对于缓冲存储器540的访问方案可以被划分为以下两种方案。一种方案可以是表示缓冲存储器540的起始地址和数据大小的方案。另一种方案可以是通过诸如时隙的预定单元划分缓冲存储器540的方案,例如N个时隙,N表示时隙数量。
由于在第一访问方法中足以表示缓冲存储器540的起始地址和数据大小,因此足够的是,处理器510仅将起始地址和数据大小信息传送到缓冲器接口530,而不管数据的大小,例如4KB传送或128KB传送。处理器510可以仅通过包括起始地址和数据大小的两个因素来配置简单的命令集,而不管待传送的数据量。然而,该方法可能导致缓冲存储器540的碎片化。例如,来自主机590的命令集可能不被正常的数据大小接口连接,因此,可能在预定时间经过时发生存储器的碎片化。此外,在服务新命令的情况下,需要配置连续的内存。因此,控制器500可能需要用于收集缓冲存储器540的完全使用的区域的碎片整理操作,并且该操作可作为处理器510的负担并且降低存储器系统的性能。
第二访问方法可以是通过根据作为时隙单元划分缓冲存储器540来访问缓冲存储器540的方法。当控制器500分配来自主机590的命令的例如4K字节的最小单元作为作为时隙单元的最小大小时,所有命令可以由N个时隙表示。此外,当发生缓冲存储器540的碎片化时,因为其是例如4K字节单元的最小单元的碎片化,所以如果发生碎片化的时隙的位置是已知的,则控制器500可以重新使用缓冲存储器540。在第二种访问方法中,所有命令可以被定义为由例如N个4KB时隙的时隙的数量来表示。例如,128K字节可以由32个时隙数量来表示,并且1M字节可以由256个时隙数量来表示。因此,当使用大量缓冲器时,第二种访问方法可能导致劣化。为了描述缓冲器,相应数量的时隙数量应当被一次性全部传送或时隙应当通过配置链表来传送。因此,第二种访问方法可作为控制器500的负载,例如负载在某种程度上存在于处理器510、主机接口520和存储器接口525中,并且用于接口连接缓冲存储器540的时隙的计算可能增加。
根据实施例的存储器系统可以提供一种能够以简单的方式解决存储器的碎片化并访问缓冲存储器的装置和方法。
图7是示出根据实施例的缓冲器接口的图。例如,图7的缓冲器接口可以是图5的缓冲器接口530。
参照图7,缓冲器接口可以包括缓冲器分配单元(BAU)710、缓冲器访问单元720、时隙状态表730和映射表740。
联接到缓冲器接口的缓冲存储器540可以包括其中通过时隙单元存取数据的缓冲器区域。缓冲存储器540可以是DRAM和/或SRAM。在一些实施例中,作为缓冲存储器540的数据访问单元的时隙可以具有与例如存储器装置550的页面的读取和写入单元相同的大小。可选地,时隙可以具有例如存储器装置550的页面的读取和写入单元的N倍或1/N倍的大小。
缓冲器接口可以包括时隙状态表730和映射表740。时隙状态表730表示映射,即,诸如缓冲存储器540的空闲或使用状态的时隙状态的空闲/使用时隙映射。映射表740表示例如虚拟大缓冲器识别(VBID)的虚拟时隙识别信息和例如物理大缓冲器识别(PBID)的物理时隙识别信息之间的映射关系。
缓冲器接口的缓冲器分配单元710可以基于数据大小来设置起始虚拟时隙识别信息即映射表740的起始VBID和时隙的虚拟数量。缓冲器分配单元710可以通过在时隙状态表730中选择空闲状态的时隙并且将选择的空闲状态的PBID分别分配到与在映射表740的起始VBID位置处设置的时隙的虚拟数量相对应的最后VBID的位置来生成映射表740。即,缓冲器分配单元710可以基于数据大小来确定映射表740的起始VBID和时隙的数量,在时隙状态表730中选择空闲状态的PBID,并且将选择的空闲状态的PBID分配到与在起始VBID位置处确定的时隙的数量相对应的最后VBID的位置。缓冲器分配单元710可以生成映射表740,其中缓冲存储器540的空闲PBID被映射在对应于数据大小的映射表740的起始VBID位置和最后VBID位置之间。
当将数据写入缓冲存储器540中或从缓冲存储器540读取数据时,缓冲器访问单元720可以通过检查映射到映射表740的设置VBID的缓冲存储器540的PBID根据时隙单元来将数据写入缓冲存储器540中或从缓冲存储器540读取数据。
图8是示出根据实施例的时隙状态表的图。例如,图8的时隙状态表可以是图7的时隙状态表730。
参照图8,时隙状态表可以包括其中存储PBID的第一区域810和存储关于相应PBID的空闲状态或使用状态的信息的第二区域820。在时隙状态表中,第一区域810的PBID的数量可以被设置为与缓冲存储器540的大小对应的数量。例如,当缓冲存储器540具有4M字节的大小并且时隙大小为4K字节时,PBID的数量可以成为1000。当数据被写入缓冲存储器540的相应PBID中时,时隙状态表的第二区域820可以被设置为使用状态。当以读取模式读取相应的PBID的数据时,第二区域820可以被设置为空闲状态。换言之,缓冲器分配单元710可以当生成映射表740时将在数据写入操作中分配到映射表740的PBID更新为使用状态,并且当对写入相应的PBID中的数据执行读取操作时,将分配到映射表740的PBID更新为空闲状态。
图9是示出根据实施例的映射表的图。例如,图9的映射表可以是图7的映射表740。
参照图9,附图标记910可以是表示VBID的虚拟地址的VBID表。VBID表910可以具有其中VBID的编号可以被写入区域913中并且相应的VBID的虚拟地址被映射在第二区域915中的结构。附图标记920可以是表示PBID的物理地址的PBID表。PBID表920可以具有其中PBID的编号被写入区域923中并且对应于相应的PBID的缓冲存储器540的物理地址被映射在第二区域925中的结构。在VBID表910和PBID表920中,VBID和PBID地址可以是时隙大小的,并且VBID和PBID的时隙大小可以具有相同的大小。
附图标记930可以表示配置映射表的示例。在映射表中,VBID的编号可以被存储在第一区域931中,并且相应的VBID的PBID可以被存储在第二区域935中。存储的PBID可以是空闲状态的PBID。即,映射表930可以包括其中存储具有序列号的VBID的第一区域931和其中通过映射来存储由图7的缓冲器分配单元710选择的空闲状态的PBID的第二区域935。映射表740的第一区域931可以具有其中VBID具有序列号的环形缓冲器结构。VBID的时隙的数量N可以被设置为大于PBID的时隙的数量M。例如,VBID的时隙的数量N可以是PBID的时隙的数量M的整数倍的大小。
再次参照图7,缓冲器接口可以包括缓冲器分配单元(BAU)710和缓冲器访问单元或虚拟地址转换单元(TRAN)720。缓冲器分配单元710可以提供由N个时隙配置的VBID。缓冲器访问单元720可以通过将虚拟地址转换成物理地址来访问缓冲存储器540。缓冲器接口可以改善连续寻址的缓冲结构和访问单元时隙的缓冲结构的缺陷。缓冲器接口可以通过起始地址和大小来指定缓冲存储器540的连续寻址,而不需要碎片整理。此外,缓冲器接口可以通过时隙单元管理缓冲存储器540,而不需要N个描述符或链表,从而避免导致性能劣化的开销。
缓冲存储器540可以通过4KB的时隙配置来支持诸如8K个的最大N个TBD。缓冲存储器540的各个时隙可以被划分为缓冲器时隙ID(BID),并且BID的编号可以与缓冲存储器540的物理地址具有绝对的关系。例如,缓冲存储器540可以被设置为基地址(=0x0)。例如,当时隙大小具有4K字节的大小时,可以提到BID=3在0x6000处开始。
再次参照图5,根据实施例的缓冲器接口530的缓冲器管理方法可以基本上是分散和采集方案,并且可以具有其中每个缓冲器时隙在所需时间被请求并且在占用非均匀时间之后被恢复的结构。即,从BID的角度来看,缓冲器时隙的请求和恢复可以是完全随机的。例如,当在主机接口520中执行主机写入时,即使在缓冲存储器540的访问方法是顺序写入方案的情况下,写入缓冲器中的BID序列与其数量没有关系,并且BID可以简单地起到用于找到物理地址的ID的作用。
在BID配置中,为了表示数据的连续性,可能有两种方法。在一种方法中,通过使联接列表中的元素通过链表具有BID,则可以表示连续性。在另一种方法中,当处理一个链路(link)的主体检查下一个链路并且这被用作地址时,可以执行连续访问。如上所述检查链路的方法可以引起如上所述的主机接口520、处理器510和存储器接口525的开销。根据实施例的缓冲器接口530可以使用用于将缓冲存储器540的物理地址转换为虚拟地址的方法。物理地址和虚拟地址可以分别通过物理BID(PBID)和虚拟BID(VBID)来计算。
再次参照图7,缓冲器分配单元710可以执行缓冲器时隙管理功能。缓冲器分配单元710可以通过参照时隙状态表730将空闲时隙中的可选PBID分配到映射表740。缓冲器分配单元710可以分配可一对一地与如图9的附图标记930所示分配的空闲时隙的PBID相对应的VBID。分配PBID的方案可以是在存储空闲时隙映射或空闲块列表的时隙状态表730中选择空闲状态的PBID的方法,并且使VBID对应于PBID的方案可以仅仅是例如增量计数器的计数方法。即,如图9的附图标记930所示,VBID可以在映射表740中向上计数VBID时被分配,并且当VBID增加到最大VBID编号,即第N个VBID时可以回滚到0,即第零个VBID。
VBID可以被描述为操作上的序列ID。例如,VBID可以被认为是缓冲存储器540的序列ID,即在写入操作中的缓冲器序列ID。当每次写入被排序时,实际的PBID可以被认为是在有限的缓冲存储器540,即总缓冲池中随机的,写入缓冲存储器540中的数据可能在其含义上具有改变,并且该改变可以是VBID。
图10是示出根据实施例的存储器系统的缓冲器接口中的映射表的示例的图。在图10中,附图标记1010示出分配的PBID和物理地址的示例。附图标记1020示出VBID和虚拟地址的示例。附图标记1030示出配置映射表的示例。仅为了说明的目的,图10示出其中图5的缓冲存储器540的缓冲器区域由8个时隙配置并且VBID的数量是PBID的数量的两倍的示例。
下面将参照图5、图7和图10描述主机写入操作。首先,主机接口520可以从主机590获取写入命令,并且接收关于写入命令对其执行缓冲器写入操作的数据。当包括在写入命令集中的数据大小为32K字节时,缓冲器接口530可以分配32KB的缓冲器,即8个4KB的时隙。缓冲器接口530的缓冲器分配单元710可以通过参照时隙状态表730来选择空闲时隙。如果选择的PBID与{7,0,1,4,2,6,5,3}相同,则地址可以以4K字节为单位被改变。缓冲器接口530可以为相应的写入命令设置或编号缓冲器序列,并且基于缓冲器序列执行缓冲器访问操作。实际操作可以被定义为针对从缓冲器序列号为BID=7开始的N个连续序列的操作。即,可以执行操作,使得BID=7是写入命令的第一个序列,BID=0是第二个序列并且BID=1是第三个序列。如果可以为每个BID分配序列号,则缓冲器接口530可以指定连续的缓冲器时隙。这种序列号可以是VBID编号。因此,缓冲器分配单元710可以设置和管理由主机接口520发出的所有写入命令的序列。缓冲器分配单元710可以生成其中缓冲存储器540的地址根据以上序列被指定的映射表740。缓冲器访问单元720可以通过参照映射表740将数据写入缓冲存储器540中。
如果缓冲器接口530设置关于第一缓冲器的序列号的信息,例如写入命令或读取命令的起始VBID和N个连续缓冲器序列,则可以认为缓冲存储器540的描述被设置。
再次参照图10,示出的是其中缓冲存储器540的缓冲器区域由8个物理时隙和16个虚拟时隙配置的表的示例,即具有16个BID的物理分散到虚拟环映射表。附图标记1010示出物理时隙的地址,即物理寻址的示例。附图标记1020示出虚拟时隙的地址,即虚拟寻址的示例。附图标记1030示出其中虚拟时隙和物理时隙被映射的表,即虚拟与物理映射表或V2P映射表的示例。
在图10中,PBID可以是从0到7的8个缓冲器的ID,并且VBID可以是0到15之间的值。可以通过将PBID和缓冲器时隙大小,即分配到缓冲存储器540的时隙大小相乘来获得物理地址。可以通过将VBID和时隙大小相乘来获得虚拟地址。PBID的时隙大小和VBID的时隙大小可以是相同的大小。当写入命令或读取命令被接收时,缓冲器接口530的缓冲器分配单元710可以基于起始VBID和数据大小通过计算VBID时隙的数量来设置时隙序列。进一步地,缓冲器分配单元710可以在时隙状态表730中的空闲状态的PBID中选择与时隙数量相对应的数量的空闲PBID,并且将选择的空闲PBID映射到预设的VBID时隙序列集。
在图10中,第一缓冲器序列1041示出由8个时隙配置的缓冲器序列的示例。第二缓冲器序列1043示出由4个时隙配置的缓冲器序列的示例。第一缓冲器序列1041中的PBID序列显示具有7,0,1,4,2,6,5,3的序列的示例。第二缓冲器序列1043中的PBID序列显示具有3,0,2,5的序列的示例。此外,在图10中,t显示时间流。在时间t0处,当PBID=7被分配时,VBID=0可以被映射。在时间t1处,当PBID=0被分配时,VBID=1可以被映射。以该方式,可以在诸如N之下的可选ID值的空闲时隙中随机地选择PBID,并且VBID可以具有在不超过最大值2N或4N的范围内增加1的配置并且一对一地对应于PBID。VBID具有如图10的附图标记1045指示的2N个PBID的大小或深度,并且可以意味着对应于VBID的PBID实际上成为空闲时隙的时间允许2N-1的距离。当对应于2N-1或4N-1的距离的VBID被分配时,如果已经存在于该位置的先前PBID未被释放,则可以限制缓冲器分配单元710免于缓冲器分配。因此,缓冲器分配单元710可以管理映射表740,即表示待分配的可选PBID与映射到其上的环形缓冲器类型的VBID之间的关系的V2P映射表,并且执行追踪使用的BID的操作。
图11A和图11B是示出缓冲器访问操作的示例的图。图11A是示出其中顺序地执行图5的缓冲存储器540的寻址的示例的图,例如,物理4KB缓冲器描述:通过链表分散&收集缓冲器。图11B是示出根据实施例的缓冲器访问示例的图,诸如,虚拟大缓冲器描述:具有虚拟指针的环形缓冲器。
图11A示出在具有4K字节基础的缓冲器分配方案中配置进/出包(in/out packet)(IOP)列表的方案。IOP发布商可以以4KB为单元请求缓冲器时隙,并且将缓冲器时隙绑定到每个IOP。为了分配32K字节的缓冲器时隙,8个缓冲器时隙索引(index)可以被绑定到8个IOP。绑定到8个IOP的8个缓冲器时隙可以通过诸如写入/读取的操作来使用,并且可以在各个时间被释放。如果在32K字节的请求之后发出16K字节的请求,则IOP发布商可以接收4个缓冲器时隙索引并且将其再次联接到4个IOP。此时,由于先前8个IOP中使用的缓冲器时隙被再次释放并分配,所以PBID=3,0,2,5可以被再使用。
当如图11A所示直接使用PBID时,为了表示32K字节的数据,与8个4KB缓冲器时隙相关联的内容产生并且诸如PBID序列={7,0,1,4,2,6,5,3}的表示应该是可能的。当通过地址表示时,物理地址{E000,0,2000,8000,4000,C000,A000,6000}可以如图11A的附图标记1110所示的来表示。
通过VBID执行如图11A所示的缓冲器访问操作,可以按照图11B所示的方法执行缓冲器访问操作。当执行缓冲存储器540的访问操作时,缓冲器接口530的缓冲器分配单元710可以仅表示起始地址,即VBID的起始地址,以及时隙的数量,即VBID的数量(NID)。例如,如图11B的附图标记1141所示的第一IOP(IOP#0)={VBID=0,NID=8},如图11B的附图标记1143所示的第二IOP(IOP#1)={VBID=8,NID=4}。即,第一IOP(IOP#0)应该获得用于写入或读取的总共8个缓冲器时隙,并且可以与起始VBID=0一起使用8个VBID ID。如图11B的附图标记1150所示,这可以成为虚拟地址{0,2000,4000,6000,8000,A000,C000,E000}。此后,缓冲器分配单元710可以在时隙状态表730中选择8个空闲状态PBID,并将选择的PBID映射到映射表740,如图11B的附图标记1160所示。如图11B的附图标记1170所示,映射到VBID的PBID的物理地址可以被预先设定。
因此,当与如图11A所示的缓冲器访问操作相比时,在如图11B所示的缓冲器访问方法中,管理12个IOP和各个BID的开销可以简单地由2个IOP和2个VBID起始指针表示。
根据实施例的缓冲器访问方法可以包括缓冲器分配操作,其当命令被接收时通过分析数据的大小来确定缓冲存储器的虚拟时隙的起始识别信息和时隙数量并且将物理时隙映射到确定的虚拟时隙。并且,缓冲器访问方法可以包括访问缓冲存储器的分配的物理时隙的位置的数据的缓冲器访问操作。
图12是示出根据实施例的缓冲器分配操作的流程图。图13是示出根据实施例的缓冲器访问操作的流程图。图12和图13可以是图5和图7的缓冲器接口530的操作。图12可以是缓冲器接口530的缓冲器分配单元710的操作。图13可以是缓冲器接口530的缓冲器访问单元720的操作。
参照图12,在步骤1211中,当缓冲存储器540的访问命令被接收时,缓冲器接口530可以检查访问命令是否是缓冲存储器540的写入命令。如果访问命令是写入命令,则在步骤1211中缓冲器接口530可以识别这一点,并且在步骤1213中可以检查要写入缓冲存储器540中的数据的大小。在步骤1215中,缓冲器接口530可以设置映射表740的起始VBID,并且在步骤1217中根据数据大小来确定时隙的数量。在映射表740中未映射PBID的VBID中具有最早编号的VBID可以被确定为起始VBID。例如,在图11B中的IOP#0的情况下,由于在映射表740中当前不存在映射PBID的VBID,因此起始VBID可以是VBID 0,并且待写入缓冲存储器540中的数据的大小可以是具有8个缓冲器时隙的大小的时隙数量,即8个。在该情况下,缓冲器接口530可以被设置为{起始VBID=VBID 0,NID=8)。在图11B中的IOP#1的情况下,由于在映射表740中当前映射PBID的VBID的数量为8个,即从VBID 0到VBID 7,因此起始VBID可以是VBID 8,并且待写入缓冲存储器540中的数据的大小可以是具有4个缓冲器时隙的大小的时隙数量,即4个。在该情况下,缓冲器接口530可以被设置为{起始VBID=VBID 8,NID=4)。
此后,缓冲器接口530可以在步骤1219中选择时隙状态表730中的空闲状态的PBID,并且在步骤1221中将选择的PBID映射到VBID。然后,在步骤1223中,缓冲器接口530可以在时隙状态表730中将选择的PBID的状态转换成使用状态。
当在时隙状态表730中选择空闲状态的PBID时,缓冲器接口530可以顺序地选择空闲状态的空闲时隙编号,并且可以随机地选择空闲时隙编号。图11B示出其中在IOP#0的情况下VBID被设置为{起始VBID=0,NID=8}并且PBID以{7,0,1,4,2,6,5,3}的顺序被选择的示例,并且示出其中在IOP#1的情况下VBID被设置为{起始VBID=8,NID=4}并且PBID以{3,0,2,5}的顺序被选择的示例。如果缓冲器接口530将选择的空闲状态的PBID映射到基于起始VBID和数据大小设置的VBID,则可以如图11B的附图标记1160所示生成映射表740。
如果缓冲器接口530读取缓冲存储器540中写入的数据,则缓冲存储器540中从其读取数据的PBID的状态可以被释放到空闲状态。如果写入缓冲存储器540中的数据被读取,则读取区域,即PBID时隙可以利用另一数据再次被写入。因此,如果从缓冲存储器540读取数据,则缓冲器接口530可以在步骤1231中识别读取操作。在检查从其读取数据的缓冲存储器540的PBID之后,缓冲器接口530可以在步骤1233中在时隙状态表730中将相应的PBID转换成空闲状态。
参照图13,缓冲器接口530可以基于命令和映射表740的信息将数据写入缓冲存储器540中或读取在缓冲存储器540中写入的数据。如果命令是用于在缓冲存储器540中写入数据的命令,则缓冲器接口530可以在步骤1311中识别这一点,并且在步骤1313中检查映射表740中的缓冲器时隙序列的起始VBID和NID。缓冲器接口530可以检查映射表740中映射到VBID的PBID,并且在步骤1317中,将数据写入缓冲存储器540中的相应的PBID的物理地址位置处。在将数据写入缓冲存储器540中之后,当相应的时隙不是最后时隙时,缓冲器接口530可以在步骤1321处检查映射表740中的下一个位置的VBID,并通过进行到步骤1315来检查所检查的PBID。例如,在图11B中的IOP#0的情况下,在映射表740中,PBID=7,0,1,4,2,6,5,3可以从起始VBID(VBID=0)被映射到8个时隙(NID=8)。缓冲器接口530可以重复地执行步骤1313至步骤1321,顺序地检查映射到VBID 0至VBID 7的PBID(PBID=7,0,1,4,2,6,5,3),并将数据写入在对应于检查的PBID的缓冲存储器540的物理地址处。此后,如果在例如VBID=7的最后VBID的例如PBID=3的PBID的物理地址处写入数据,则缓冲器接口530可以在步骤1319中结束写入操作。
在将数据写入缓冲存储器540中之后,缓冲器接口530可以连续执行读取操作。例如,写入缓冲存储器540中的数据可以是被缓冲以将被存储在存储器装置550中的数据。在该情况下,当在写入操作结束之后执行读取操作时,写入缓冲存储器540中的数据可以被传送到存储器装置550。如果执行读取操作,缓冲器接口530可以在步骤1331中识别这一点,并且在步骤1333中检查在映射表740中读取的缓冲器时隙序列的起始VBID。在检查起始VBID之后,缓冲器接口530可以在步骤1335中检查映射到起始VBID的PBID,并且在步骤1337中读取在对应于相应PBID的缓冲存储器540的物理地址处写入的数据。此后,缓冲器接口530可以在步骤1341中检查缓冲器时隙序列的下一个VBID,并且通过进行到步骤1335来检查映射到检查的VBID的PBID。如果读取与映射表740中的缓冲器时隙序列的最后一个PBID相对应的在缓冲存储器540中写入的数据,则缓冲器接口530可以在步骤1339中识别出最后时隙的数据被读取,并且结束缓冲存储器540的读取操作。
图14是示出根据实施例的将数据写入存储器系统的存储器装置中的操作的图。
参照图14,存储器系统可以接收来自主机590的诸如用于将数据写入存储器装置550中的写入命令WR的命令、地址和数据。在步骤1411中,主机接口520可以将命令和关于数据大小的信息传输到处理器510。在步骤1412中,处理器510可以将关于数据大小的信息传输到缓冲器分配单元710。在步骤1413中,在接收到关于数据大小的信息时,缓冲器分配单元710可以通过分析关于数据大小的信息来设置缓冲器时隙序列信息。缓冲器时隙序列信息可以包括映射表740的起始VBID或映射表740的起始VBID和时隙的数量(NID)。缓冲器分配单元710在步骤1415中可以在时隙状态表730中选择时隙的预设数量,即,对应于NID的时隙的数量的空闲状态的PBID,并且在步骤1417中可以通过将选择的PBID映射到配置缓冲器时隙序列的VBID来生成映射表740。此后,缓冲器分配单元710可以在时隙状态表730中将在映射表740中分配的PBID转换为使用状态。此后,在步骤1421中,缓冲器分配单元710可以传输包括在映射表中分配的起始VBID的缓冲器时隙序列信息。缓冲器时隙序列信息可以是包括起始VBID的信息或包括起始VBID和NID的信息。在步骤1423中,处理器510可以将缓冲器时隙序列信息传输到主机接口520。
在步骤1425中,在接收到缓冲器时隙序列信息时,主机接口520可以将包括起始VBID的缓冲器时隙序列信息和数据传输到缓冲器访问单元720。接收缓冲器时隙序列信息和数据的缓冲器访问单元720可以在步骤1427中基于缓冲器时隙序列信息来检查映射表740中的PBID,并且在步骤1429中在缓冲存储器540的PBID地址处写入接收的数据。
在完成数据的传输,即写入缓冲器访问单元720结束时,主机接口520可以在步骤1451中将这一点传送到处理器510,并且处理器510可以在步骤1453中将包括起始VBID的缓冲器时隙序列信息传送到存储器接口525。在步骤1455中,接收缓冲器时隙序列信息VBID的存储器接口525可以将读取命令RD和包括起始VBID的缓冲器时隙序列信息传输到缓冲器访问单元720。接收读取命令RD和缓冲器时隙序列信息VBID的缓冲器访问单元720可以在步骤1457中基于包括起始VBID的缓冲器时隙序列信息来检查映射表740中的PBID,在步骤1459中读取在缓冲存储器540的PBID地址处写入的数据,并且在步骤1461中将读出数据传输到存储器接口525。存储器接口525可以将来自缓冲存储单元720的数据写入存储器装置550中。
在步骤1460中,在数据在存储器装置550中的存储完成时,存储器接口525可以通知处理器510数据的存储完成或结束。在步骤1465中,在检测到存储器装置550中的数据存储完成时,处理器510可以将包括空闲VBID的缓冲器时隙序列信息通知给缓冲器分配单元710。缓冲器分配单元710可以在步骤1467中基于缓冲器时隙序列信息VBID来检查映射表740中的PBID并且在时隙状态表730中将检查的PBID转换成使用状态,并且在步骤1469中将这一点通知给处理器510。
图15是示出根据实施例的用于从存储器系统中的存储器装置读取数据的操作的图。
参照图15,存储器系统可以接收来自主机590的诸如用于读取在存储器装置550中写入的数据的读取命令RD的命令、地址和关于数据大小的信息。在步骤1511中,主机接口520可以将命令和关于数据大小的信息传输到处理器510。在步骤1512中,处理器510可以将关于数据大小的信息传输到缓冲器分配单元710。在步骤1513中,在接收到关于数据大小的信息时,缓冲器分配单元710可以通过分析关于数据大小的信息来设置缓冲器时隙序列信息。缓冲器时隙序列信息可以包括映射表740的起始VBID或映射表740的起始VBID和时隙的数量(NID)。缓冲器分配单元710可以在步骤1515中在时隙状态表730中选择诸如对应于NID的时隙的数量的时隙的预设数量的空闲状态的PBID,并且在步骤1517中通过将选择的PBID映射到配置缓冲器时隙序列的VBID来生成映射表740。此后,在步骤1519中,缓冲器分配单元710可以在时隙状态表730中将在映射表740中分配的PBID转换为使用状态。此后,在步骤1521中,缓冲器分配单元710可以传输包括在映射表中分配的起始VBID的缓冲器时隙序列信息。缓冲器时隙序列信息可以是包括起始VBID的信息或包括起始VBID和NID的信息。在步骤1523中,处理器510可以将读取命令、用于读取存储在存储器装置550中的数据的地址信息以及用于缓冲器接口530访问缓冲存储器540的时隙序列信息传输到存储器接口525。存储器接口525可以从存储器装置550读取数据。
在步骤1525中,存储器接口525可以将包括起始VBID的缓冲器时隙序列信息和从存储器装置550读取的数据传输到缓冲器访问单元720。接收包括起始VBID的缓冲器时隙序列信息和数据的缓冲器访问单元720可以在步骤1527中基于缓冲器时隙序列信息来检查映射表740中的PBID,并且在步骤1529中将接收的数据写入缓冲存储器540的PBID地址处。
在从存储器装置550读取的数据传输到缓冲器访问单元720完成或结束时,存储器接口525可以在步骤1551中将这一点传送到处理器510,并且处理器510可以在步骤1553中将包括起始VBID的缓冲器时隙序列信息传送到主机接口520。在步骤1555中,接收包括起始VBID的缓冲器时隙序列信息的主机接口520可以将读取命令RD和包括起始VBID的缓冲器时隙序列信息传输到缓冲器访问单元720。接收读取命令RD和包括起始VBID的缓冲器时隙序列信息的缓冲器访问单元720可以在步骤1557中基于包括起始VBID的缓冲器时隙序列信息来检查映射表740中的PBID,在步骤1559中读取在缓冲存储器540的PBID地址处写入的数据,并且在步骤1561中将读出数据传输到主机接口520。主机接口520可以将来自缓冲器访问单元720的数据传输到主机590。
在步骤1563中,在读出数据传输到主机590完成时,主机接口520可以通知处理器510数据的传输完成或结束。在步骤1565中,在检测到从存储器装置550读取的数据的传输完成时,处理器510可以将包括空闲VBID的缓冲器时隙序列信息通知给缓冲器分配单元710。缓冲器分配单元710可以在步骤1567中基于缓冲器时隙序列信息来检查映射表740中的PBID并且在时隙状态表730中将检查的PBID转换成使用状态,并且在步骤1569中将这一点通知给处理器510。
在下文中,将参照图16至图21,详细描述应用根据实施例的包括以上参照图1至图15描述的存储器装置150和控制器130的存储器系统110的数据处理系统和电子设备。
图16是示出包括根据实施例的存储器系统的数据处理系统的图。具体地,图16示出采用根据实施例的存储器系统的存储卡系统6100。
参照图16,存储卡系统6100可以包括存储器控制器6120、存储器装置6130和连接器6110。
存储器控制器6120可以与存储器装置6130可操作地连接并且可以访问存储器装置6130。在一些实施例中,存储器装置6130可以利用非易失性存储器(NVM)来实施。例如,存储器控制器6120可以控制对存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可以提供存储器装置6130和主机(未示出)之间的接口。存储器控制器6120可以驱动用于控制存储器装置6130的固件。例如,存储器控制器6120可以对应于以上参照图1描述的存储器系统110中的控制器130,并且存储器装置6130可以对应于以上参照图1描述的存储器系统110中的存储器装置150。
因此,存储器控制器6120可以包括诸如图1所示的随机存取存储器(RAM)、处理单元、主机接口、存储器接口和错误校正单元的部件。
存储器控制器6120可以通过连接器6110与例如以上参照图1所描述的主机102的外部装置通信。例如,如以上参照图1描述的,存储器控制器6120可以被配置为通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、集成驱动电路(IDE)、火线、通用闪存(UFS)、无线保真(WI-FI)和蓝牙。存储器系统和数据处理系统可以应用于例如移动电子设备的有线和/或无线电子设备。
存储器装置6130可以利用非易失性存储器(NVM)来实施。例如,存储器装置6130可以利用诸如以下的各种非易失性存储器装置中的一种来实施:例如,可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器6120和存储器装置6130可以被集成到单个半导体装置中。例如,存储器控制器6120和存储器装置6130可以通过集成到单个半导体装置中来构造固态驱动器(SSD)。存储器控制器6120和存储器装置6130可以构造诸如以下的存储卡:例如个人计算机存储卡国际协会(PCMCIA)的PC卡,标准闪存(CF)卡,例如SM和SMC的智能媒体卡,记忆棒,例如MMC、RS-MMC、微型MMC和eMMC的多媒体卡,例如SD、迷你SD、微型SD和SDHC的SD卡和通用闪存(UFS)。
图17是示意性地示出包括根据本发明的实施例的存储器系统的数据处理系统6200的示例的图。
参照图17,数据处理系统6200可以包括可以利用至少一个非易失性存储器(NVM)来实施的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。如以上参照图1描述的,数据处理系统6200可以是诸如CF、SD和微型SD的存储卡的存储介质。存储器装置6230可以对应于以上参照图1描述的存储器系统110中的存储器装置150。存储器控制器6220可以对应于以上参照图1描述的存储器系统110中的控制器130。
存储器控制器6220可以响应于从主机6210接收的请求来控制对存储器装置6230的包括读取操作、写入操作和擦除操作的操作。存储器控制器6220可以包括全部经由内部总线联接的中央处理单元(CPU)6221、作为缓冲存储器的随机存取存储器(RAM)6222、错误校正码(ECC)电路6223、主机接口6224和作为存储器接口的NVM接口6225中的至少一个。
CPU 6221可以控制对存储器装置6230的诸如读取、写入、文件系统管理、坏页面管理等的操作。RAM 6222可以根据CPU 6221的控制来操作,并且可以用作工作存储器、缓冲存储器、高速缓冲存储器等。当RAM 6222用作工作存储器时,由CPU 6221处理的数据被临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222用于缓冲将从主机6210传输到存储器装置6230或将从存储器装置6230传输到主机6210的数据。当RAM 6222用作高速缓冲存储器时,RAM 6222可以用于使具有低速的存储器装置6230能够以高速操作。
ECC电路6223可以对应于以上参照图1描述的控制器130的ECC单元138。如以上参照图1描述的,ECC电路6223可以生成用于校正从存储器装置6230接收的数据中的失效位或错误位的错误校正码(ECC)。ECC电路6223可以对将提供给存储器装置6230的数据执行错误校正编码,并且可以生成添加有奇偶校验位的数据。奇偶校验位可以被存储在存储器装置6230中。ECC电路6223可以对从存储器装置6230输出的数据执行错误校正解码。此时,ECC电路6223可以通过使用奇偶校验位来校正错误。例如,如以上参照图1描述的,ECC电路6223可以通过使用诸如以下的各种编码调制中的其中一种来校正错误:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(BCH)码、涡轮码、里德-所罗门(RS)码、卷积码、递归系统码(RSC)、格形编码调制(TCM)和分组编码调制(BCM)。
存储器控制器6220可以通过主机接口6224将数据传输到主机6210并且从主机6210接收数据,并且通过NVM接口6225将数据传输到存储器装置6230并且从存储器装置6230接收数据。主机接口6224可以通过诸如以下的各种接口协议中的至少一种与主机6210连接:并行高级技术附件(PATA)总线、串行高级技术附件(SATA)总线、小型计算机系统接口(SCSI)、通用串行总线(USB)、高速外围组件互连(PCI-e)或NAND接口。进一步地,当诸如无线保真(WI-FI)或长期演进(LTE)的无线通信功能或移动通信协议被实现时,存储器控制器6220可以通过与诸如主机6210的外部装置或除主机6210之外的另一外部装置连接来传输和接收数据。具体地,因为存储器控制器6220被配置为通过各种通信协议中的至少一种与外部装置通信,所以根据实施例的存储器系统和数据处理系统可以应用于例如移动电子设备的有线和/或无线电子设备。
图18是示出包括根据本发明的实施例的存储器系统的数据处理系统的示例的图。例如,在图18中,示出采用存储器系统的固态驱动器(SSD)6300。
参照图18,SSD 6300可以包括存储器装置6340和控制器6320,该存储器装置6340可以包括多个非易失性存储器NVM。控制器6320可以对应于以上参照图1描述的存储器系统110中的控制器130。存储器装置6340可以对应于以上参照图1描述的存储器系统110中的存储器装置150。
控制器6320可以通过多个通道CH1、CH2、CH3……CHi与存储器装置6340连接。控制器6320可以包括经由内部总线联接的处理器6321、缓冲存储器6325、错误校正码(ECC)电路6322、主机接口6324和作为存储器接口的非易失性存储器(NVM)接口6326。
缓冲存储器6325可临时存储从主机6310接收的数据或从包括在存储器装置6340中的多个非易失性存储器NVM接收的数据,或临时存储多个非易失性存储器NVM的元数据。例如,元数据可以包括含有映射表的映射数据。缓冲存储器6325可以利用诸如但不限于动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率(DDR)SDRAM、低功率双倍数据速率(LPDDR)SDRAM和图形随机存取存储器(GRAM)的易失性存储器或诸如但不限于铁电随机存取存储器(FRAM)、电阻式随机存取存储器(ReRAM)、自旋转移力矩磁性随机存取存储器(STT-MRAM)和相变随机存取存储器(PRAM)的非易失性存储器来实施。虽然在图18中示出缓冲存储器6325被设置在控制器6320内部,但是应当注意的是,缓冲存储器6325可以被设置在控制器6320外部。
ECC电路6322可以在编程操作期间计算将在存储器装置6340中编程的数据的错误校正码值,在读取操作中基于错误校正码值对从存储器装置6340读取的数据执行错误校正操作,并且在对失效数据的恢复操作中对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可以提供关于诸如主机6310的外部装置的接口功能。非易失性存储器接口6326可以提供关于通过多个通道CH1、CH2、CH3……CHi连接的存储器装置6340的接口功能。
由于使用对其每一个应用以上参照图1描述的存储器系统110的多个SSD 6300,因此可以实施诸如独立磁盘冗余阵列(RAID)系统的数据处理系统。在RAID系统中可以包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。在通过从主机6310接收写入命令来执行编程操作的情况下,RAID控制器可以响应于从主机6310接收的写入命令的RAID级别信息在例如多个SSD 6300的多个RAID级别中选择例如至少一个SSD 6300的至少一个存储器系统并且可以将对应于写入命令的数据输出到选择的SSD 6300。当通过从主机6310接收读取命令来执行读取操作时,RAID控制器可以响应于从主机6310接收的写入命令的RAID级别信息在例如多个SSD 6300的多个RAID级别中选择例如至少一个SSD 6300的至少一个存储器系统并且可以将从选择的SSD 6300输出的数据提供给主机6310。
图19是示出包括根据本发明的实施例的存储器系统的数据处理系统的另一示例的图。例如,在图19中,示出嵌入式多媒体卡(eMMC)6400。
参照图19,eMMC 6400可以包括利用至少一个NAND闪速存储器实施的存储器装置6440和控制器6430。控制器6430可以对应于以上参照图1描述的存储器系统110中的控制器130。存储器装置6440可以对应于以上参照图1描述的存储器系统110中的存储器装置150。
控制器6430可以通过多个通道与存储器装置6440连接。控制器6430可以包括内核6432、主机接口6431和诸如NAND接口6433的存储器接口。
内核6432可以控制eMMC 6400的操作。主机接口6431可以在控制器6430和主机6410之间提供接口功能。NAND接口6433可以在存储器装置6440和控制器6430之间提供接口功能。例如,主机接口6431可以是诸如以上参照图1描述的MMC接口的并行接口,或诸如超高速1级(UHS-Ⅰ)/UHS 2级(UHS-Ⅱ)和通用闪存(UFS)接口的串行接口。
图20是示出包括根据本发明的实施例的存储器系统的数据处理系统的另一示例的图。例如,图20示出应用根据实施例的存储器系统的通用闪存(UFS)6500。
参照图20,UFS系统6500可以包括UFS主机6510、多个UFS装置6520和6530、嵌入式UFS装置6540和可移除UFS卡6550。UFS主机6510可以是例如移动电子设备的有线和/或无线电子设备的应用处理器。
UFS主机6510、UFS装置6520和6530、嵌入式UFS装置6540和可移除UFS卡6550可以例如通过UFS协议分别与诸如移动电子设备的有线和/或无线电子设备的外部装置通信。UFS装置6520和6530、嵌入式UFS装置6540和可移除UFS卡6550可以利用以上参照图1描述的存储器系统110来实施,例如,被实施为以上参照图16描述的存储卡系统6100。嵌入式UFS装置6540和可移除UFS卡6550还可以通过除UFS协议以外的另一协议通信。例如,嵌入式UFS装置6540和可移除UFS卡6550可以通过诸如但不限于USB闪存驱动器(UFD)、多媒体卡(MMC)、安全数字(SD)、迷你SD和微型SD的各种卡协议来进行通信。
图21是示出包括根据本发明的实施例的存储器系统的数据处理系统的示例的图。例如,在图21中,示出采用存储器系统的用户系统6600。
参照图21,用户系统6600可以包括用户接口6610、存储器模块6620、应用处理器6630、网络模块6640和存储模块6650。
应用处理器6630可以驱动包括在用户系统6600中的部件和操作系统(OS)。例如,应用处理器6630可以包括用于控制包括在用户系统6600中的部件的控制器、接口、图形引擎等。应用处理器6630可以通过片上系统(SoC)来设置。
存储器模块6620可以用作用户系统6600的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6620可以包括诸如动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2SDRAM、DDR3SDRAM、低功率双倍数据速率(LPDDR)SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性随机存取存储器,或诸如相变随机存取存储器(PRAM)、电阻式随机存取存储器(ReRAM)、磁性随机存取存储器(MRAM)和铁电随机存取存储器(FRAM)的非易失性随机存取存储器。例如,应用处理器6630和存储器模块6620可以通过基于堆叠封装(POP)的封装来安装。
网络模块6640可以与外部装置通信。例如,网络模块6640不仅可以支持有线通信,还可以支持诸如以下的各种无线通信:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI)等,并且从而可以与例如移动电子设备的有线和/或无线电子设备通信。因此,根据实施例的存储器系统和数据处理系统可以应用于有线和/或无线电子设备。网络模块6640可以被包括在应用处理器6630中。
存储模块6650可以存储诸如从应用处理器6630接收的数据的数据,并且将存储在其中的数据传输到应用处理器6630。存储模块6650可以由诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪速存储器、NOR闪速存储器和3维NAND闪速存储器的非易失性半导体存储器装置实现。存储模块6650可以被设置为诸如用户系统6600的存储卡的可移除存储介质和外部驱动器。例如,存储模块6650可以对应于以上参照图1描述的存储器系统110,并且可以利用以上参照图18至图20描述的SSD、eMMC和UFS来实施。
用户接口6610可以包括用于将数据或命令输入到应用处理器6630或用于将数据输出到外部装置的接口。例如,用户接口6610可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和马达的用户输出接口。
当以上参照图1描述的存储器系统110被应用于根据实施例的用户系统6600的移动电子设备时,如上所述,应用处理器6630可以控制移动电子设备的操作,并且作为通信模块的网络模块6640可以控制与外部装置的有线和/或无线通信。作为移动电子设备的显示/触摸模块的用户接口6610显示由应用处理器6630处理的数据或支持从触摸面板输入数据。
如上所述,根据实施例的存储器系统及其操作方法可以解决通过执行连续寻址来访问数据的缓冲器结构和通过预定单元访问时隙数据的缓冲器结构的问题,并且通过使用各个缓冲器结构的优点来访问数据。在根据实施例的存储器系统及其操作方法中,当将数据写入缓冲存储器中或读取在缓冲存储器中写入的数据时,可以通过起始地址和数据大小来指定连续寻址,同时避免整理碎片的需要,并且能够通过时隙单元进行管理,同时避免对设置描述符或链表的需要,从而避免可能导致性能劣化的开销。
虽然为了说明的目的已经描述各个实施例,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和变型。
Claims (21)
1.一种存储器控制装置,其包括:
缓冲存储器,在所述缓冲存储器中通过时隙单元访问数据;以及
缓冲器接口,其适于控制对所述缓冲存储器的访问,
其中所述缓冲器接口包括:
映射表,其适于存储多个虚拟时隙识别信息即VBID和多个物理时隙识别信息即PBID之间的映射;
缓冲器分配单元,其适于基于将写入所述缓冲存储器中的数据的大小来确定所述映射表的起始VBID和时隙的数量,即NID,并且将空闲状态的PBID分配到所述映射表中的缓冲器时隙序列,所述缓冲器时隙序列包括基于所述起始VBID和所述NID确定的时隙;以及
缓冲器访问单元,其适于基于所述映射表访问在所述缓冲存储器的所述PBID的位置处的数据。
2.根据权利要求1所述的存储器控制装置,其中所述映射表包括:
第一区域,其用于存储顺序的VBID;以及
第二区域,其用于存储彼此映射的由所述缓冲器分配单元分配的所述PBID和包含在所述缓冲器时隙序列中的所述VBID。
3.根据权利要求2所述的存储器控制装置,其中存储在所述第二区域中的虚拟时隙的数量被分配成大于存储在所述第二区域中的物理时隙的数量,并且所述第一区域具有环形缓冲器结构。
4.根据权利要求3所述的存储器控制装置,其中所述缓冲器访问单元在写入模式下将数据存储在映射到所述缓冲器时隙序列的所述缓冲存储器的所述PBID的位置处。
5.根据权利要求4所述的存储器控制装置,
其中所述缓冲器接口进一步包括:
时隙状态表,其适于存储关于所述PBID的状态的信息,以及
其中,在所述写入模式下,所述缓冲器分配单元在所述时隙状态表中选择所述空闲状态的PBID,并且将所选择的PBID转换为使用状态。
6.根据权利要求3所述的存储器控制装置,其中所述缓冲器访问单元在读取模式下读取在映射到所述缓冲器时隙序列的所述缓冲存储器的所述PBID的位置处写入的数据。
7.根据权利要求6所述的存储器控制装置,其中所述缓冲器分配单元在所述时隙状态表中将从所述缓冲存储器读取的所述PBID转换为所述空闲状态。
8.一种存储器系统,其包括:
主机;
存储器装置;以及
控制器,其联接到所述主机和所述存储器装置,
其中所述控制器包括:
主机接口,其适于将访问命令和数据与所述主机接口连接;
存储器接口,其适于将访问命令和数据与所述存储器装置接口连接;
缓冲存储器,在所述缓冲存储器中通过时隙单元访问数据;以及
缓冲器接口,其适于生成映射表并且基于所述映射表将数据缓冲在所述缓冲存储器中,其中所述映射表存储基于来自所述主机接口的所述访问命令和数据大小通过时隙的单元访问的所述缓冲存储器的多个虚拟时隙与多个物理时隙之间的映射。
9.根据权利要求8所述的存储器系统,其中所述缓冲器接口包括:
所述映射表,其适于存储多个虚拟时隙识别信息即VBID和多个物理时隙识别信息即PBID之间的映射;
缓冲器分配单元,其适于基于将写入所述缓冲存储器中的数据的大小来确定所述映射表的起始VBID和时隙的数量,即NID,并且将空闲状态的PBID分配到所述映射表中的缓冲器时隙序列,所述缓冲器时隙序列包括基于所述起始VBID和所述NID确定的时隙;以及
缓冲器访问单元,其适于基于所述映射表访问在所述缓冲存储器的所述PBID的位置处的数据。
10.根据权利要求9所述的存储器系统,其中所述映射表包括:
第一区域,其用于存储顺序的VBID;以及
第二区域,其用于存储彼此映射的由所述缓冲器分配单元分配的所述PBID和包含在所述缓冲器时隙序列中的所述VBID。
11.根据权利要求10所述的存储器系统,其中存储在所述第二区域中的VBID的数量被分配成大于存储在所述第二区域中的PBID的数量,并且所述第一区域具有环形缓冲器结构。
12.根据权利要求11所述的存储器系统,
其中所述缓冲器访问单元在写入模式下将来自所述主机接口的数据存储在映射到所述缓冲器时隙序列的所述缓冲存储器的所述PBID的位置处,以及
其中,在从所述主机接口传输所述数据完成时,所述缓冲器访问单元顺序地读取在所述缓冲存储器的所述PBID的位置处写入的数据,并且将读出的数据输出到所述存储器接口。
13.根据权利要求12所述的存储器系统,
其中所述缓冲器访问单元在读取模式下将来自所述存储器接口的数据写入基于所述映射表映射到所述缓冲器时隙序列的所述缓冲存储器的所述PBID的位置处,并且
其中,在所述存储器接口中完成所述存储器装置的读取时,所述缓冲器访问单元读取在基于所述映射表映射到所述缓冲器时隙序列的所述缓冲存储器的所述PBID的位置处写入的数据,并且将读出的数据输出到所述主机接口。
14.根据权利要求13所述的存储器系统,
其中所述缓冲器接口进一步包括:
时隙状态表,其适于存储关于所述PBID的状态的信息,并且
其中,所述缓冲器分配单元在所述时隙状态表中选择空闲状态的PBID,将所选择的PBID映射到所述映射表,并且在所述写入模式下将所选择的PBID转换为使用状态,并且在所述读取模式下在所述时隙状态表中将从所述缓冲存储器读取的PBID转换为所述空闲状态。
15.一种访问缓冲存储器的方法,在所述缓冲存储器中通过时隙单元访问数据,所述方法包括:
基于将写入所述缓冲存储器中的数据的大小确定映射表的起始虚拟时隙识别信息即VBID和时隙的数量即NID,其中所述映射表存储多个虚拟时隙识别信息即VBID和多个物理时隙识别信息即PBID之间的映射;
将空闲状态的PBID分配到所述映射表中的缓冲器时隙序列,所述缓冲器时隙序列包括基于所述起始VBID和所述NID确定的时隙;以及
基于所述映射表访问在所述缓冲存储器的所述PBID的位置处的数据。
16.根据权利要求15所述的方法,其进一步包括:
在生成所述映射表之后,将在所述映射表中映射的所述PBID转换为使用状态。
17.根据权利要求16所述的方法,其进一步包括:
在读取请求时,读取并输出在所述映射表中映射的所述缓冲存储器的所述PBID的位置处写入的数据。
18.根据权利要求17所述的方法,其进一步包括:
在输出所述数据之后,将在所述映射表中映射的所述PBID转换为所述空闲状态。
19.一种存储器系统的操作方法,所述存储器系统包括缓冲存储器,在所述缓冲存储器中通过时隙单元访问数据,所述方法包括:
从主机接口接收访问命令和关于数据大小的信息;
生成映射表并基于所述映射表将数据缓冲在所述缓冲存储器中的缓冲器接口进程,其中所述映射表存储基于所述访问命令和所述数据大小通过所述时隙单元访问的所述缓冲存储器的多个虚拟时隙与多个物理时隙之间的映射;以及
将缓冲在所述缓冲存储器中的所述数据传输到存储器装置或主机中的其中一个。
20.根据权利要求19所述的方法,
其中所述访问命令是写入命令,并且
其中所述缓冲器接口进程包括:
基于将写入所述缓冲存储器中的数据的大小确定所述映射表的起始虚拟时隙识别信息即VBID和时隙的数量即NID;
将空闲状态的PBID分配到所述映射表中的缓冲器时隙序列,所述缓冲器时隙序列包括基于所述起始VBID和所述NID确定的时隙;
基于所述映射表将来自所述主机的所述数据写入所述缓冲存储器的所述PBID的位置处;以及
在读取请求时,基于所述映射表读取在所述缓冲存储器的所述PBID的位置处写入的数据并且将读出的数据传输到所述存储器装置。
21.根据权利要求20所述的方法,
其中所述访问命令是读取命令,并且
其中所述缓冲器接口进程包括:
基于传输到所述主机的读取数据的大小确定所述映射表的起始虚拟时隙识别信息即VBID和时隙的数量即NID;
将空闲状态的PBID分配到包括基于所述映射表的所述起始VBID和所述NID确定的时隙的缓冲器时隙序列;
基于所述映射表将从所述存储器装置读取的数据写入所述缓冲存储器的所述PBID的位置处;以及
在读取请求时,基于所述映射表读取在所述缓冲存储器的所述PBID的位置处写入的数据并且将读出的数据传输到所述主机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160134229A KR20180041898A (ko) | 2016-10-17 | 2016-10-17 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR10-2016-0134229 | 2016-10-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107957958A true CN107957958A (zh) | 2018-04-24 |
CN107957958B CN107957958B (zh) | 2021-07-09 |
Family
ID=61904493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710657598.5A Active CN107957958B (zh) | 2016-10-17 | 2017-08-03 | 存储器系统及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10657049B2 (zh) |
KR (1) | KR20180041898A (zh) |
CN (1) | CN107957958B (zh) |
TW (1) | TWI723217B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413219A (zh) * | 2018-04-30 | 2019-11-05 | 爱思开海力士有限公司 | 存储器控制器、存储器系统及其操作方法 |
CN110895447A (zh) * | 2018-09-13 | 2020-03-20 | 爱思开海力士有限公司 | 控制器及其操作方法 |
CN111143255A (zh) * | 2018-11-01 | 2020-05-12 | 爱思开海力士有限公司 | 存储装置及其操作方法 |
CN111813326A (zh) * | 2019-04-12 | 2020-10-23 | 建兴储存科技(广州)有限公司 | 具多数据流写入的固态存储装置及其相关写入方法 |
CN111858116A (zh) * | 2020-06-19 | 2020-10-30 | 浪潮电子信息产业股份有限公司 | 一种信息记录方法、装置、设备及可读存储介质 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180041898A (ko) * | 2016-10-17 | 2018-04-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
CN111108540B (zh) * | 2017-09-21 | 2023-03-21 | 日本电信电话株式会社 | 秘密读写装置、秘密读写方法、以及记录介质 |
JP6967959B2 (ja) * | 2017-12-08 | 2021-11-17 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US10936046B2 (en) * | 2018-06-11 | 2021-03-02 | Silicon Motion, Inc. | Method for performing power saving control in a memory device, associated memory device and memory controller thereof, and associated electronic device |
KR20200010933A (ko) * | 2018-07-23 | 2020-01-31 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
CN109144894B (zh) * | 2018-08-01 | 2023-04-07 | 浙江大学 | 基于数据冗余的内存访问模式保护方法 |
KR102612911B1 (ko) * | 2018-08-31 | 2023-12-13 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
KR20200043676A (ko) * | 2018-10-18 | 2020-04-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102569177B1 (ko) | 2018-11-29 | 2023-08-23 | 에스케이하이닉스 주식회사 | 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20200118994A (ko) * | 2019-04-09 | 2020-10-19 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법 |
KR20210016938A (ko) * | 2019-08-06 | 2021-02-17 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그것의 동작방법 |
KR102088944B1 (ko) * | 2019-10-01 | 2020-05-26 | 주식회사 파두 | 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스 |
KR102088945B1 (ko) * | 2019-10-11 | 2020-04-24 | 주식회사 파두 | 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스 |
US11646091B2 (en) * | 2021-09-22 | 2023-05-09 | SK Hynix Inc. | System for outputting test data from multiple cores and method thereof |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090248950A1 (en) * | 2008-03-25 | 2009-10-01 | Masaru Tamaki | User data protection method in server apparatus, server apparatus and computer program |
CN102971717A (zh) * | 2010-05-25 | 2013-03-13 | 马维尔国际贸易有限公司 | 存储器访问表保存和复原系统及方法 |
CN103326846A (zh) * | 2008-01-07 | 2013-09-25 | Lg电子株式会社 | 对分布式的虚拟资源块进行调度的方法 |
CN103345452A (zh) * | 2013-07-18 | 2013-10-09 | 四川九成信息技术有限公司 | 一种在多个缓冲存储器中根据权重信息缓存数据方法 |
CN103370685A (zh) * | 2010-09-15 | 2013-10-23 | 净睿存储股份有限公司 | 存储环境中的i/o写入的调度 |
CN103369675A (zh) * | 2012-04-06 | 2013-10-23 | 华为技术有限公司 | 一种资源配置方法和装置 |
US8619813B1 (en) * | 2010-10-07 | 2013-12-31 | Adtran, Inc. | Systems and methods for reliably transporting ethernet virtual circuit information |
CN104321759A (zh) * | 2012-05-25 | 2015-01-28 | 华为技术有限公司 | 高速分布存储器系统中的多客户端多存储器控制 |
CN104508997A (zh) * | 2012-06-18 | 2015-04-08 | 三星电子株式会社 | 用于协作多点传输的非周期性和周期性csi反馈模式 |
WO2016111893A1 (en) * | 2015-01-09 | 2016-07-14 | Qualcomm Incorporated | Enhanced storage option in multi-slot communications supporting usb uicc sim cards |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08180001A (ja) * | 1994-04-12 | 1996-07-12 | Mitsubishi Electric Corp | 通信方式及び通信方法及びネットワークインタフェース |
US5774715A (en) * | 1996-03-27 | 1998-06-30 | Sun Microsystems, Inc. | File system level compression using holes |
US5987582A (en) * | 1996-09-30 | 1999-11-16 | Cirrus Logic, Inc. | Method of obtaining a buffer contiguous memory and building a page table that is accessible by a peripheral graphics device |
US6065104A (en) * | 1997-07-23 | 2000-05-16 | S3 Incorporated | Method of embedding page address translation entries within a sequentially accessed digital audio data stream |
US6609176B1 (en) * | 1999-12-27 | 2003-08-19 | Kabushiki Kaisha Toshiba | Disk control system and data rearrangement method |
US8176238B2 (en) * | 2003-12-02 | 2012-05-08 | Super Talent Electronics, Inc. | Command queuing smart storage transfer manager for striping data to raw-NAND flash modules |
CN100342666C (zh) * | 2004-05-10 | 2007-10-10 | 华为技术有限公司 | 通信系统中的倒换方法 |
US7493465B2 (en) * | 2004-05-17 | 2009-02-17 | Oracle International Corporation | Method and system for extended memory with user mode input/output operations |
US7512135B2 (en) * | 2004-12-10 | 2009-03-31 | International Business Machines Corporation | Method for transferring data among a logical layer, physical layer, and storage device |
US20080155224A1 (en) * | 2006-12-21 | 2008-06-26 | Unisys Corporation | System and method for performing input/output operations on a data processing platform that supports multiple memory page sizes |
US8959280B2 (en) * | 2008-06-18 | 2015-02-17 | Super Talent Technology, Corp. | Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear |
US8176233B1 (en) * | 2008-07-17 | 2012-05-08 | Virident Systems Inc. | Using non-volatile memory resources to enable a virtual buffer pool for a database application |
KR101070511B1 (ko) | 2009-03-20 | 2011-10-05 | (주)인디링스 | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 |
TWI386802B (zh) * | 2009-07-03 | 2013-02-21 | Phison Electronics Corp | 用於快閃記憶體的資料寫入方法及其控制電路與儲存系統 |
KR101131560B1 (ko) * | 2010-07-15 | 2012-04-04 | 주식회사 하이닉스반도체 | 웨어 레벨링을 수행하는 비휘발성 메모리 장치 및 그의 제어 방법 |
KR101833416B1 (ko) * | 2011-04-27 | 2018-04-13 | 시게이트 테크놀로지 엘엘씨 | 데이터 리드 방법 및 이를 적용한 저장 장치 |
US9236064B2 (en) * | 2012-02-15 | 2016-01-12 | Microsoft Technology Licensing, Llc | Sample rate converter with automatic anti-aliasing filter |
US8924684B1 (en) * | 2012-06-13 | 2014-12-30 | Amazon Technologies, Inc. | Virtual memory management to reduce address cache flushing during I/O operations |
US9767051B2 (en) * | 2014-04-04 | 2017-09-19 | Tidal Systems, Inc. | Scalable, parameterizable, and script-generatable buffer manager architecture |
KR102344834B1 (ko) | 2014-09-24 | 2021-12-29 | 삼성전자주식회사 | 솔리드 스테이트 드라이브 및 이를 포함하는 컴퓨팅 시스템 |
US10055381B2 (en) * | 2015-03-13 | 2018-08-21 | International Business Machines Corporation | Controller and method for migrating RDMA memory mappings of a virtual machine |
US10169232B2 (en) * | 2016-02-19 | 2019-01-01 | Seagate Technology Llc | Associative and atomic write-back caching system and method for storage subsystem |
KR20180041898A (ko) * | 2016-10-17 | 2018-04-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102565895B1 (ko) * | 2017-11-13 | 2023-08-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
-
2016
- 2016-10-17 KR KR1020160134229A patent/KR20180041898A/ko active Search and Examination
-
2017
- 2017-06-14 US US15/622,134 patent/US10657049B2/en active Active
- 2017-08-03 CN CN201710657598.5A patent/CN107957958B/zh active Active
- 2017-09-07 TW TW106130625A patent/TWI723217B/zh active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103326846A (zh) * | 2008-01-07 | 2013-09-25 | Lg电子株式会社 | 对分布式的虚拟资源块进行调度的方法 |
US20090248950A1 (en) * | 2008-03-25 | 2009-10-01 | Masaru Tamaki | User data protection method in server apparatus, server apparatus and computer program |
CN102971717A (zh) * | 2010-05-25 | 2013-03-13 | 马维尔国际贸易有限公司 | 存储器访问表保存和复原系统及方法 |
CN103370685A (zh) * | 2010-09-15 | 2013-10-23 | 净睿存储股份有限公司 | 存储环境中的i/o写入的调度 |
US8619813B1 (en) * | 2010-10-07 | 2013-12-31 | Adtran, Inc. | Systems and methods for reliably transporting ethernet virtual circuit information |
CN103369675A (zh) * | 2012-04-06 | 2013-10-23 | 华为技术有限公司 | 一种资源配置方法和装置 |
CN104321759A (zh) * | 2012-05-25 | 2015-01-28 | 华为技术有限公司 | 高速分布存储器系统中的多客户端多存储器控制 |
CN104508997A (zh) * | 2012-06-18 | 2015-04-08 | 三星电子株式会社 | 用于协作多点传输的非周期性和周期性csi反馈模式 |
CN103345452A (zh) * | 2013-07-18 | 2013-10-09 | 四川九成信息技术有限公司 | 一种在多个缓冲存储器中根据权重信息缓存数据方法 |
WO2016111893A1 (en) * | 2015-01-09 | 2016-07-14 | Qualcomm Incorporated | Enhanced storage option in multi-slot communications supporting usb uicc sim cards |
Non-Patent Citations (1)
Title |
---|
刘洋: "层次混合存储系统中缓存和预取技术研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413219A (zh) * | 2018-04-30 | 2019-11-05 | 爱思开海力士有限公司 | 存储器控制器、存储器系统及其操作方法 |
CN110895447A (zh) * | 2018-09-13 | 2020-03-20 | 爱思开海力士有限公司 | 控制器及其操作方法 |
CN110895447B (zh) * | 2018-09-13 | 2023-11-10 | 爱思开海力士有限公司 | 控制器及其操作方法 |
CN111143255A (zh) * | 2018-11-01 | 2020-05-12 | 爱思开海力士有限公司 | 存储装置及其操作方法 |
CN111143255B (zh) * | 2018-11-01 | 2023-07-07 | 爱思开海力士有限公司 | 存储装置及其操作方法 |
CN111813326A (zh) * | 2019-04-12 | 2020-10-23 | 建兴储存科技(广州)有限公司 | 具多数据流写入的固态存储装置及其相关写入方法 |
CN111813326B (zh) * | 2019-04-12 | 2024-04-19 | 建兴储存科技(广州)有限公司 | 具多数据流写入的固态存储装置及其相关写入方法 |
CN111858116A (zh) * | 2020-06-19 | 2020-10-30 | 浪潮电子信息产业股份有限公司 | 一种信息记录方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20180041898A (ko) | 2018-04-25 |
TWI723217B (zh) | 2021-04-01 |
CN107957958B (zh) | 2021-07-09 |
US10657049B2 (en) | 2020-05-19 |
TW201816618A (zh) | 2018-05-01 |
US20180107594A1 (en) | 2018-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107957958A (zh) | 存储器系统及其操作方法 | |
CN108572927A (zh) | 存储器系统及其操作方法 | |
CN110399311A (zh) | 存储器系统及该存储器系统的操作方法 | |
CN107643985A (zh) | 存储器系统及其操作方法 | |
CN107766257A (zh) | 存储器系统及其操作方法 | |
CN110244907A (zh) | 存储器系统及该存储器系统的操作方法 | |
CN108121665A (zh) | 存储器系统及其操作方法 | |
CN108733595A (zh) | 存储器系统、包括其的数据处理系统及其操作方法 | |
CN107919157A (zh) | 存储器装置及存储器装置的操作方法 | |
CN107589906A (zh) | 存储器系统及其操作方法 | |
CN107799148A (zh) | 存储器系统及用于操作该存储器系统的方法 | |
CN108268212A (zh) | 控制器及操作方法 | |
CN109656837A (zh) | 存储器系统及其操作方法 | |
CN109390003A (zh) | 存储器系统及其操作方法 | |
CN108932203A (zh) | 数据处理系统和数据处理方法 | |
US11861223B2 (en) | Memory controller and storage device for scheduling addresses | |
CN109271328A (zh) | 存储器系统及其操作方法 | |
CN109656469A (zh) | 用于控制一个或多个存储器装置的控制器及其操作方法 | |
US11449235B2 (en) | Storage device for processing merged transactions and method of operating the same | |
US20190347193A1 (en) | Memory system and operating method thereof | |
JP6073495B2 (ja) | 半導体装置 | |
US10936484B2 (en) | Memory system and operating method thereof | |
CN107436730A (zh) | 数据处理系统及其操作方法 | |
CN109947360A (zh) | 存储器系统及其操作方法 | |
US11281381B2 (en) | Storage node of distributed storage system and method of operating the same |
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 |