CN108268212B - 控制器及操作方法 - Google Patents
控制器及操作方法 Download PDFInfo
- Publication number
- CN108268212B CN108268212B CN201711080589.0A CN201711080589A CN108268212B CN 108268212 B CN108268212 B CN 108268212B CN 201711080589 A CN201711080589 A CN 201711080589A CN 108268212 B CN108268212 B CN 108268212B
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- memory block
- super
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 16
- 230000015654 memory Effects 0.000 claims abstract description 342
- 230000008707 rearrangement Effects 0.000 claims abstract description 22
- 238000010586 diagram Methods 0.000 description 23
- 238000012545 processing Methods 0.000 description 22
- 239000000872 buffer Substances 0.000 description 16
- 230000006870 function Effects 0.000 description 11
- 238000012937 correction Methods 0.000 description 10
- 239000004065 semiconductor Substances 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 239000007787 solid Substances 0.000 description 4
- 230000003936 working memory Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 2
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 239000013590 bulk material Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/0658—Controller construction arrangements
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- 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
- 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/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/7208—Multiple device management, e.g. distributing data over multiple flash devices
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)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明公开一种控制器,其包括:存储器,其适于存储从包括在存储器装置中的第一超级存储块的第一存储块读取的第一数据;重排单元,其适于基于存储在存储器中的第一数据的序列信息重排存储在存储器中的第一数据;以及处理器,其适于控制存储器装置将重排的第一数据写入存储器装置的第二超级存储块中。
Description
相关申请的交叉引用
本申请要求于2016年12月30日提交的申请号为2016-0184095的韩国专利申请的优先权,其整体通过引用并入本文。
技术领域
本发明的各个实施例涉及一种控制器,并且更特别地,涉及一种控制器及其操作方法。
背景技术
计算机环境范例已经转变至可随时随地使用的普适计算系统。作为结果,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用持续快速增长。这些便携式电子装置通常使用具有也被称为数据存储装置的一个或多个半导体存储器装置的存储器系统。数据存储装置可以用作便携式电子装置的主存储器装置或辅助存储器装置。
因为半导体存储器装置不具有移动部件,所以它们提供优良的稳定性、耐久性、高信息访问速度和低功耗。数据存储装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
各个实施例涉及一种即使在对序列数据执行多个复制操作之后也能够防止序列数据的读取操作的性能降低的控制器及其操作方法。
根据本发明的实施例,控制器可以包括:存储器,其适于存储从包括在存储器装置中的第一超级存储块的第一存储块读取的第一数据;重排单元(rearranging unit),其适于基于存储在存储器中的第一数据的序列信息重排存储在存储器中的第一数据;以及处理器,其适于控制存储器装置将重排的第一数据写入存储器装置的第二超级存储块中。
优选地,重排单元可以基于序列信息顺序地重排第一数据。
优选地,当第一数据的大小等于或大于第一阈值时,重排单元可以重排第一数据。
优选地,第一阈值可以等于或大于包括在第一超级存储块中的第一存储块的一个或多个页面的存储容量。
优选地,序列信息可以包括逻辑块地址的信息。
优选地,第一数据可以是序列数据。
优选地,处理器可以根据第一数据的序列信息的顺序将第一数据从第一超级存储块复制到第二超级存储块。
优选地,第一阈值可以等于或小于第一超级存储块的预定存储容量。
优选地,当处理器经由存储器将第一数据从第一超级存储块复制到第二超级存储块时,重排单元可以重排存储在存储器中的第一数据。
优选地,处理器可以在垃圾收集操作期间复制第一数据。
根据本发明的实施例,控制器的操作方法可以包括:存储从包括在存储器装置中的第一超级存储块的第一存储块读取的第一数据;基于存储在存储器中的第一数据的序列信息重排存储在存储器中的第一数据;以及控制存储器装置将重排的第一数据写入存储器装置的第二超级存储块中。
优选地,重排可以基于序列信息顺序地重排第一数据。
优选地,当第一数据的大小等于或大于第一阈值时,重排可以将第一数据进行重排。
优选地,第一阈值可以等于或大于包括在第一超级存储块中的第一存储块的一个或多个页面的存储容量。
优选地,序列信息可以包括逻辑块地址的信息。
优选地,第一数据可以是序列数据。
优选地,处理器可以根据第一数据的序列信息的顺序将第一数据从第一超级存储块复制到第二超级存储块。
优选地,其中第一阈值可以等于或小于第一超级存储块的预定存储容量。
优选地,在经由存储器将第一数据从第一超级存储块复制到第二超级存储块的复制操作期间,重排可以将存储在存储器中的第一数据进行重排。
优选地,可以在垃圾收集操作期间执行复制操作。
附图说明
图1是说明包括根据实施例的存储器系统的数据处理系统的简图。
图2是说明根据本发明的实施例的存储器装置的简图。
图3是说明根据本发明的实施例的存储器装置中的存储块的电路图。
图4是示意性地说明根据本发明的实施例的图2所示的存储器装置的方面的简图。
图5是说明图1所示的存储器系统的简图。
图6是说明将数据从控制器的存储器移动到超级存储块而不重排数据的比较示例的简图。
图7至图9是说明根据本发明的实施例的控制器的操作的简图。
图10至图18是示意性地说明根据本发明的实施例的包括存储器系统的数据处理系统的其它实施例的简图。
具体实施方式
以下将参照附图更详细地描述各个实施例。然而,本发明可以以不同的形式体现并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开是彻底和完整的。在整个公开中,相同的附图标记在整个本发明的各个附图和实施例中表示相同的部件。
附图不一定按比例绘制,在一些情况下,为了清楚地示出实施例的特征,可能已经夸大了比例。当元件被称为连接或联接到另一元件时,应当理解的是,前者可以直接地连接或联接到后者,或经由其间的中间元件电连接或电联接到后者。此外,当描述一个元件“包括”(或“包含”)或“具有”一些元件时,应当理解的是,如果不存在特定限制,则其可以包括(或包含)或具有其它元件以及那些元件。除非另有说明,否则单数形式的术语可以包括复数形式。
图1是说明包括根据实施例的存储器系统的数据处理系统的框图。
参照图1,数据处理系统100可包括主机102和存储器系统110。
主机102可包括例如诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式电脑、游戏机、TV和投影仪的电子装置。
主机102可包括一个或多个操作系统,并且操作系统可控制和管理主机102的操作和性能,并且在主机102和使用数据处理系统100或存储器系统110的用户之间提供交互操作。操作系统可以支持对应于使用目的的操作和性能。例如,根据主机的移动性,操作系统可以被分类为普通操作系统和移动操作系统。并且,根据用户的环境,普通操作系统可以被分类为个人操作系统和企业操作系统。例如,个人操作系统可以为普通用户提供服务并且包括windows和chrome等。企业操作系统可以是用于提供高品质的专用系统并且包括windows server、linux和unix等。并且移动操作系统可以是用于向用户提供系统省电功能和移动服务的专用系统并且包括android、iOS、windows mobile等。主机102可包括多个操作系统,并且执行操作系统以对存储器系统110执行对应于用户的请求的操作。
存储器系统110可以响应于来自主机102的请求而操作,并且特别地,存储待由主机102访问的数据。存储器系统可以用作主机102的主存储器系统或辅助存储器系统。根据主机接口的协议,存储器系统110可以利用可与主机102电联接的各种类型的存储装置中的任何一种来实施。合适的存储装置的示例包括:固态驱动器(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,其存储待由主机102访问的数据;以及控制器130,其可以控制存储器装置150中数据的存储。
存储器控制器130和存储器装置150可被集成至一个半导体装置中。例如,控制器130和存储器装置150可以被集成至诸如固态驱动器(SSD)的一个半导体装置中。当存储器系统110用作SSD时,电联接到存储器系统110的主机102的操作速度可以显著增加。
控制器130和存储器装置150可以被集成至一个半导体装置中并被配置为存储卡。控制器130和存储器装置150可以被集成至一个半导体器装置中并被配置为诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)卡、标准闪存(CF)卡、智能媒体(SM)卡(SMC)、记忆棒、多媒体卡(MMC)、RS-MMC和微型MMC、安全数字(SD)卡、迷你SD、微型SD和SDHC、通用闪速存储(UFS)装置。
存储器系统110可以被配置为以下的部分:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航装置、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储器、能够在无线环境下传输和接收信息的装置、配置家庭网络的各种电子装置之一、配置计算机网络的各种电子装置之一、配置远程信息处理网络的各种电子装置之一、RFID装置或配置计算系统的各种组成元件之一。
存储器系统110的存储器装置150在电源被阻断时可以保留存储的数据,例如,存储器装置可以在写入操作期间存储从主机102提供的数据,并且在读取操作期间将存储的数据提供给主机102。存储器装置150可包括多个存储块152、154和156。存储块152、154和156中的每一个可以包括多个页面。页面中的每一个可以包括电联接到多个字线(WL)的多个存储器单元。存储器装置150可以是例如闪速存储器的非易失性存储器装置。闪速存储器可具有三维(3D)堆叠结构。存储器装置可以具有任何其它合适的结构。
控制器130可以控制存储器装置150的诸如读取操作、写入操作、编程操作和擦除操作的整体操作。例如,存储器系统110的控制器130可响应于来自主机102的请求控制存储器装置150。控制器130可将从存储器装置150读取的数据提供给主机102,和/或可将从主机102提供的数据存储到存储器装置150中。
控制器130可包括主机接口单元132、处理器134、错误校正码(ECC)单元138、电源管理单元140、NAND闪速控制器142、存储器144以及重排单元146。
主机接口单元132可处理从主机102提供的命令和数据,并可通过诸如以下的各种接口协议中的至少一种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
ECC单元138可检测并校正在读取操作期间从存储器装置150读取的数据中的错误。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC单元138可以不校正错误位,并且可以输出指示校正错误位的失败的错误校正失败信号。
ECC单元138可基于诸如以下的编码调制执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhri-Hocquenghem,BCH)码、turbo码、里德-所罗门(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的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。控制器130可响应于来自主机102的请求控制存储器装置150。例如,控制器130可将从存储器装置150读取的数据提供给主机102,并将从主机102提供的数据存储至存储器装置150中。当控制器130控制存储器装置150的操作时,存储器144可以存储由存储器控制器130和存储器装置150用于诸如读取操作、写入操作、编程操作和擦除操作的操作的数据。
存储器144可利用易失性存储器来实施。存储器144可利用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。如上所述,存储器144可以存储由主机102和存储器装置150用于读取操作和写入操作的数据。为了存储数据,存储器144可以包括编程存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
当存储在存储器144中的数据的大小超过第一预定阈值时,重排单元146可以基于数据的序列信息来重排数据。序列信息可以包括用于数据的逻辑块地址的信息。
处理器134可以控制存储器系统110的一般操作,并且可以响应于来自主机102的写入请求或读取请求来控制存储器装置150的写入操作或读取操作。处理器134可以驱动被称为闪存转换层(FTL)的固件来控制存储器系统110的一般操作。处理器134可以利用微处理器或中央处理单元(CPU)来实施。
管理单元(未示出)可以被包括在处理器134中,并且可以执行存储器装置150的坏块管理。管理单元可以发现对于进一步使用处于不良状况的包括在存储器装置150中的坏存储块,并且对坏存储块执行坏块管理。但存储器装置150是例如NAND闪速存储器的闪速存储器时,由于NAND逻辑功能的特性,在写入操作期间,例如在编程操作期间可能发生编程失败。在坏块管理期间,编程失败的存储块或坏存储块的数据可以被编程到新存储块中。并且,由于编程故障导致的坏块会严重降低具有3D堆叠结构的存储器装置150的使用效率和存储器系统110的可靠性,因此需要可靠的坏块管理。
图2是说明图1所示的存储器装置150的示意图。
参照图2,存储器装置150可以包括例如第0块210至第(N-1)块240的多个存储块。多个存储块210至240中的每一个可以包括例如2M数量的页面(2M个页面)的多个页面。多个页面中的每一个可以包括多个存储器单元。多个字线可以电联接到存储器单元。
根据可以在每个存储器单元中存储或表示的位的数量,存储器装置150可以包括多个存储块作为单层单元(SLC)存储块和多层单元(MLC)存储块。SLC存储块可以包括由每一个能够存储1位数据的存储器单元实施的多个页面。MLC存储块可以包括由每一个能够存储例如两位或更多位数据的多位数据的存储器单元实施的多个页面。包括由能够存储3位数据的存储器单元实施的多个页面的MLC存储块也可以被限定为三层单元(TLC)存储块。
多个存储块210至240中的每一个可在写入操作期间存储从主机102提供的数据,并且可在读取操作期间将存储的数据提供给主机102。
图3是说明图1所示的多个存储块152至156中的一个的电路图。
参照图3,存储器装置150的存储块152可以包括分别电联接到位线BL0至BLm-1的多个单元串340。每列单元串340可包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。多个存储器单元或多个存储器单元晶体管MC0至MCn-1可以串联地电联接在选择晶体管DST和SST之间。各个存储器单元MC0至MCn-1可以由每个可以存储1位信息的单层单元(SLC)或由每个可以存储多位数据信息的多层单元(MLC)配置。串340可以分别电联接到相应的位线BL0至BLm-1。作为参考,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,并且“CSL”表示共源线。
虽然图3仅示出由NAND闪速存储器单元配置的存储块152,但是应当注意的是,根据实施例的存储器装置150的存储块152不限于NAND闪速存储器,并且可以由NOR闪速存储器、组合至少两种存储器单元的混合闪速存储器或其中控制器内置在存储器芯片中的1-NAND闪速存储器实现。半导体装置的操作特性不仅可应用于其中电荷存储层通过导电浮栅配置的闪速存储器装置而且可应用于其中电荷存储层通过介电层配置的电荷撷取闪存(CTF)
存储器装置150的电压供给块310可提供待根据操作模式被供给至各自字线的字线电压,例如编程电压、读取电压和通过电压,并且提供待被供应至体材料(bulk),例如其中形成有存储器单元的阱区的电压。电压供给块310可在控制电路(未示出)的控制下执行电压产生操作。电压供给块310可产生多个可变读取电压以产生多个读取数据、在控制电路的控制下选择存储块或存储器单元阵列的扇区中的一个、选择被选择的存储块的字线中的一个并且将字线电压提供至选择的字线和未选择的字线。
存储器装置150的读取/写入电路320可以由控制电路控制,并且可以根据操作模式用作读出放大器或写入驱动器。在验证/正常读取操作期间,读取/写入电路320可用作读出放大器,其用于从存储器单元阵列读取数据。并且,在编程操作期间,读取/写入电路320可用作根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动器。读取/写入电路320可以在编程操作期间从缓冲器(未示出)接收待写入存储器单元阵列的数据,并且可以根据输入的数据来驱动位线。例如,读取/写入电路320可以包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322、324和326,并且多个锁存器(未示出)可以被包括在页面缓冲器322、324和326中的每一个中。
图4是说明图1所示的存储器装置150的多个存储块152至156的示例的框图。
参照图4,存储器装置150可以包括多个存储块BLK0至BLKN-1,并且存储块BLK0至BLKN-1中的每一个可以被实现为三维(3D)结构或竖直结构。每个存储块BLK0至BLKN-1可以包括在例如x轴方向、y轴方向和z轴方向的第一方向至第三方向上延伸的结构。
各个存储块BLK0至BLKN-1可以包括在第二方向上延伸的多个NAND串NS。多个NAND串NS可以被设置在第一方向和/或第三方向上。每个NAND串NS可以电联接到位线BL、至少一个漏极选择线SSL、至少一个接地选择线GSL、多个字线WL、至少一个虚拟字线DWL和共源线CSL。各个存储块BLK0至BLKN-1可以电联接到多个位线BL、多个源极选择线SSL、多个接地选择线GSL、多个字线WL、多个虚拟字线DWL和多个共源线CSL。
图5是说明存储器系统110的简图。
处理器134可以管理超级存储块。超级存储块可以包括处理器134可以每次控制的多个存储块。参照图5,处理器134可以管理分别由包括在存储器装置150的各个存储器管芯511至514中的一个或多个存储块BLOCK0至BLOCK7分组的超级存储块521和522。图5说明处理器134通过第一超级存储块521管理存储块BLOCK0至BLOCK3,并且通过第二超级存储块522管理存储块BLOCK4至BLOCK7。
处理器134可以通过诸如信道交叉(interleaving)、存储器管芯交叉、存储器芯片交叉、方式交叉等的交叉方案来控制超级存储块521和522的存储块BLOCK0至BLOCK7。处理器134可以通过交叉方案基于页面来顺序地控制超级存储块521和522的存储块BLOCK0至BLOCK7。
参照图5,当处理器134从主机102接收序列数据LBA0至LBA11的写入请求时,该序列数据LBA0至LBA11的逻辑块地址是有顺序的,处理器134可以以顺序的方式控制存储器装置150分别将序列数据LBA0至LBA3写入存储块BLOCK0至BLOCK3的第一页面中。
类似地,处理器134可以以顺序的方式控制存储器装置150分别将序列数据LBA4至LBA11写入存储块BLOCK0至BLOCK3的第二页面和第三页面中。即,处理器134可以通过交叉方案来控制存储器装置150将序列数据LBA0至LBA11分别写入第一超级存储块521中。
参照图5,当处理器134从主机102接收对存储在第一超级存储块521中的序列数据LBA0至LBA11的读取请求时,处理器134可以以顺序的方式控制存储器装置150分别从存储块BLOCK0至BLOCK3的第一页面读取序列数据LBA0至LBA3。
类似地,处理器134可以以顺序的方式控制存储器装置150分别从存储块BLOCK0至BLOCK3的第二页面或第三页面读取序列数据LBA4至LBA11。即,处理器134可以通过交叉方案来控制存储器装置150分别从第一超级存储块521读取序列数据LBA0至LBA11。
图6是说明将数据从控制器6130的存储器6144移动到超级存储块6522而不重排数据的比较示例的简图。
虽然控制器6130的处理器通过交叉方案控制存储器装置6150,但是序列数据LBA0至LBA11可以从存储器装置6150中的第一超级存储块6521随机地读取,并且随机读取的序列数据LBA0至LBA11可以以随机方式被存储在存储器6144中。这是因为从第一超级存储块6521的各个存储块BLOCK0至BLOCK7读取数据所需的时间彼此不同。
参照图6,当控制器6130的处理器6134在通过存储器6144将序列数据LBA0至LBA11从第一超级存储块6521复制到第二超级存储块6522的复制操作期间,控制存储器装置6150将通过交叉方案被随机地存储在控制器6130的存储器6144中的序列数据LBA0至LBA11写入第二存储块6522中时,序列数据LBA0至LBA11可以被随机地存储在第二存储块6522中。即,当处理器在例如垃圾收集操作期间将存储在第一超级存储块6521中的序列数据LBA0至LBA11复制到第二超级存储块6522中时,序列数据LBA0至LBA11可能在被存储在第二超级存储块6522中的同时最终变成随机的。因此,从第二超级存储块6522读出随机化的序列数据LBA0至LBA11可能需要更长的时间,这降低了对原始序列数据LBA0至LBA11的读取操作的效率。
根据本发明的实施例,控制器130可以包括适于重排随机化的序列数据的顺序的重排单元146。控制器130可以使用重排单元146解决读出随机化的序列数据所花费的时间更长的问题。重排单元146可以通过使用处理器、计算机或者固件类型的处理单元来实现。
当存储器144中存储的序列数据LBA0至LBA11的大小超过第一阈值时,重排单元146可以基于序列数据LBA0至LBA11的序列信息(即,逻辑块地址)来重排序列数据LBA0至LBA11。第一阈值可以等于或大于包括在超级存储块521和522中的一个或多个页面的存储容量。例如,当超级存储块521和522中的存储块BLOCK0至BLOCK7的每个页面的存储容量为16KB时,第一阈值可以等于或大于16KB。随着第一阈值变大,重排单元146可重排更多的数据。
图7至图9是说明根据本发明的实施例的控制器130的操作的简图。
根据本发明的实施例,处理器134可以通过存储器144将存储在第一超级存储块521中的序列数据LBA0至LBA11复制到第二超级存储块522中。首先,处理器134可以将序列数据存储在存储器144中。然而,当存储在存储器144中时,序列数据可能变成随机的。重排单元146可以重排存储器144中的随机存储的数据LBA0至LBA11。
在下文中,假设序列数据LBA0至LBA11中的每个大小等于存储块BLOCK0至BLOCK7中每个页面的存储容量。进一步地,假设第一阈值是5个页面的存储容量。例如,当存储块BLOCK0至BLOCK7中的每个页面的存储容量为16KB时,序列数据LBA0至LBA11的每个大小可以是16KB,并且第一阈值可以是80KB。
如图7所示,在经由存储器144以顺序的方式将序列数据LBA0至LBA11从第一超级存储块521复制到第二超级存储块522的复制操作期间,当序列数据LBA0至LBA5从第一超级存储块521被读取并且然后被存储在存储器144中时,序列数据LBA0至LBA5的大小可以是96KB,并且因此超过第一阈值80KB。因此,重排单元146可以基于序列数据LBA0至LBA5的逻辑块地址重排当前被存储在存储器144中的序列数据LBA0至LBA5。当存储在存储器中的序列数据LBA0至LBA5被重排时,处理器134可以将在存储器144中重排的序列数据LBA0至LBA5中的四个序列数据LBA0至LBA3存储在第二超级存储块522的第一页面中。
如图8所示,在经由存储器144以顺序的方式将序列数据LBA0至LBA11从第一超级存储块521复制到第二超级存储块522的复制操作期间,四个序列数据LBA6至LBA9可以被进一步存储在存储器144中,同时两个序列数据LBA4和LBA5仍然被存储在存储器144中。因此,六个序列数据LBA4至LBA9的大小,即96KB,可以超过第一阈值,即80KB。
因此,重排单元146可以基于存储在存储器144中的序列数据LBA4至LBA9的逻辑块地址来重排六个序列数据LBA4至LBA9。当存储在存储器144中的序列数据LBA4至LBA9被重排时,处理器134可以将在存储器144中重排的序列数据LBA4至LBA9中的四个序列数据LBA4至7存储在第二超级存储块522的第二页面中。
如图9所示,在经由存储器144以顺序的方式将序列数据LBA0至LBA11从第一超级存储块521复制到第二超级存储块522的复制操作期间,两个序列数据LBA10至LBA11可以被进一步存储在存储器144中,同时两个序列数据LBA8和LBA9仍然被存储在存储器144中。因此,存储在存储器144中的序列数据LBA8至LBA11的大小,即64KB,可以不超过第一阈值,即80KB。
因此,重排单元146可以不重排存储在存储器144中的序列数据LBA8至LBA11。并且处理器134可以将存储器144中未被重排的序列数据LBA8至LBA11存储到第二存储块522的第三页面中。
在实施例中,尽管存在第一阈值,重排单元146仍然可以重排存储在存储器144中的序列数据LBA8至LBA11。
在上述本发明的实施例中,当存储器装置150从处理器134接收序列数据时,存储器装置150可以立即将序列数据写入超级存储块中。在实施例中,存储器装置150可以在每次处理器134提供所有序列数据的部分片段时收集序列数据直到将所有序列数据提供给存储器装置150,并且然后存储器装置150通过一次性编程方案立刻将所有序列数据写入第二超级存储块522中。
根据上述本发明的实施例,在经由存储器144以顺序的方式将序列数据LBA0至LBA11从第一超级存储块521复制到第二超级存储块522的复制操作期间,存储器系统110可以以顺序的方式将序列数据LBA0至LBA11存储到第二超级存储块522中。因此,不管经由存储器144将序列数据LBA0至LBA11从第一超级存储块521复制到第二超级存储块522的若干复制操作,从第二超级存储块522读出序列数据LBA0至LBA11可以不需要较长时间,这防止对序列数据LBA0至LBA11的读取操作的效率降低。
图10至图18是示意性地说明图1的数据处理系统的应用示例的简图。
图10是示意性说明包括根据本实施例的存储器系统的数据处理系统的另一示例的简图。图10示意性说明了应用根据本发明的实施例的存储器系统的存储卡。
参照图10,存储卡6000可包括存储器控制器6020、存储器装置6030和连接器6010。
更具体地,存储器控制器6020可被连接至通过非易失性存储器实施的存储器装置6030,并被配置成访问存储器装置6030。例如,存储器控制器6020可被配置成控制存储器装置6030的读取操作、写入操作、擦除操作和后台操作。存储器控制器6020可被配置成提供存储器装置6030和主机之间的接口并驱动固件以控制存储器装置6030。也就是说,存储器控制器6020可对应于参照图1描述的存储器系统110的控制器130,并且存储器装置6030可对应于参照图1描述的存储器系统110的存储器装置150。
因此,存储器控制器6020可包括RAM、处理单元、主机接口、存储器接口和错误校正单元。
存储器控制器6020可通过连接器6010与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6020可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WIFI以及蓝牙。因此,根据本实施例的存储器系统和数据处理系统可应用于有线/无线电子装置,或者特别是移动电子装置。
存储器装置6030可通过非易失性存储器来实施。例如,存储器装置6030可通过诸如以下的各种非易失性存储器装置来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器6020和存储器装置6030可被集成至单个半导体装置中。例如,存储器控制器6020和存储器装置6030可通过集成至单个半导体装置中构成固态驱动器(SSD)。存储卡6000可以是PC卡(PCMCIA:个人计算机存储卡国际协会)、标准闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)以及通用闪存(UFS)。
图11是示意性说明包括根据本实施例的存储器系统的数据处理系统的另一示例的简图。
参照图11,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图11所示的数据处理系统6200可作为如参照图1所描述的诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置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的数据。当RAM6222用作高速缓冲存储器时,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码、turbo码、里德-所罗门码、卷积码、RSC或诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可通过主机接口6224向主机6210传输数据/接收来自主机6210的数据,并通过NVM接口6225向存储器装置6230传输数据/接收来自存储器装置6230的数据。主机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接至主机6210。存储器控制器6220可利用诸如WiFi或长期演进(LTE)的移动通信协议具有无线通信功能。存储器控制器6220可连接至外部装置,例如主机6210或另一个外部装置,然后向外部装置传输数据/接收来自外部装置的数据。特别地,由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置通信,因此根据本实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置或特别是移动电子装置。
图12是示意性说明包括根据本实施例的存储器系统的数据处理系统的另一示例的简图。图12示意性示出应用根据本实施例的存储器系统的SSD。
参照图12,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1的存储器系统110中的控制器130,并且存储器装置6340可对应于图1的存储器系统中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接至存储器装置6340。控制器6320可包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324以及诸如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个闪速存储器NVM提供的数据,或者临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可通过诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器来实施。为便于描述,图12说明缓冲存储器6325存在于控制器6320中。然而,缓冲存储器6325可存在于控制器6320的外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的ECC值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与诸如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供应用了图1的存储器系统110的多个SSD 6300来实施数据处理系统,例如,RAID(独立磁盘冗余阵列)系统。此时,RAID系统可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD6300,并将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD6300中选择一个或多个存储器系统或SSD6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图13是示意性说明包括根据本实施例的存储器系统的数据处理系统的另一示例的简图。图13示意性说明应用了根据本实施例的存储器系统的嵌入式多媒体卡(eMMC)。
参照图13,eMMC 6400可包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器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接口。此外,主机接口6431可用作串行接口,例如UHS((超高速)-I/UHS-II)接口。
图14至图17是示意性说明包括根据本实施例的存储器系统的数据处理系统的其它示例的简图。图14至图17示意性说明应用根据本实施例的存储器系统的UFS(通用闪存)系统。
参照图14至图17,UFS系统6500、6600、6700和6800可分别包括主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。主机6510、6610、6710和6810可用作有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720和6820可用作嵌入式UFS装置,并且UFS卡6530、6630、6730和6830可用作外部嵌入式UFS装置或可移除UFS卡。
各个UFS系统6500、6600、6700和6800中的主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS协议与诸如有线/无线电子装置或特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过图1所示的存储器系统110来实施。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可以参照图11至图13描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以参照图10描述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可通过UFS接口,例如,MIPI(移动行业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)彼此通信。此外,UFS装置6520、6620、6720和6820与UFS卡6530、6630、6730和6830可通过除UFS协议以外的各种协议,例如,UFD、MMC、SD、迷你SD和微型SD彼此通信。
在图14所示的UFS系统6500中,主机6510、UFS装置6520以及UFS卡6530中的每一个可包括UniPro。主机6510可执行交换操作,以便与UFS装置6520和UFS卡6530通信。特别地,主机6510可通过例如UniPro处的L3交换的链路层交换与UFS装置6520或UFS卡6530通信。此时,UFS装置6520和UFS卡6530可通过主机6510的UniPro处的链路层交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6520和一个UFS卡6530连接至主机6510的配置。然而,多个UFS装置和UFS卡可并联或以星型形式连接至主机6510,并且多个UFS卡可并联或以星型形式连接至UFS装置6520,或者串联或以链型形式连接至UFS装置6520。
在图15所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro,并且主机6610可通过执行交换操作的交换模块6640,例如,通过在UniPro处执行链路层交换例如L3交换的交换模块6640,与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过UniPro处的交换模块6640的链路层交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6620和一个UFS卡6630连接至交换模块6640的配置。然而,多个UFS装置和UFS卡可并联或以星型形式连接至交换模块6640,并且多个UFS卡可串联或以链型形式连接至UFS装置6620。
在图16所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro,并且主机6710可通过执行交换操作的交换模块6740,例如通过在UniPro处执行链路层交换例如L3交换的交换模块6740,与UFS装置6720或UFS卡6730通信。此时,UFS装置6720和UFS卡6730可通过UniPro处的交换模块6740的链路层交换来彼此通信,并且交换模块6740可在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在本实施例中,为便于描述,已经例示了其中一个UFS装置6720和一个UFS卡6730连接至交换模块6740的配置。然而,每个都包括交换模块6740和UFS装置6720的多个模块可并联或以星型形式连接至主机6710,或者串联或以链型形式彼此连接。此外,多个UFS卡可并联或以星型形式连接至UFS装置6720。
在图17所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可包括M-PHY和UniPro。UFS装置6820可执行交换操作,以便与主机6810和UFS卡6830通信。特别地,UFS装置6820可通过用于与主机6810通信的M-PHY和UniPro模块和用于与UFS卡6830通信的M-PHY和UniPro模块之间的交换操作,例如通过目标ID(标识符)交换操作,来与主机6810或UFS卡6830通信。此时,主机6810和UFS卡6830可通过UFS装置6820的M-PHY和UniPro模块之间的目标ID交换来彼此通信。在本实施例中,为便于描述,已经例示了其中一个UFS装置6820连接至主机6810且一个UFS卡6830连接至UFS装置6820的配置。然而,多个UFS装置可并联或以星型形式连接至主机6810,或串联或以链型形式连接至主机6810,并且多个UFS卡可并联或以星型形式连接至UFS装置6820,或串联或以链型形式连接至UFS装置6820。
图18是示意性说明包括根据实施例的存储器系统的数据处理系统的另一示例的简图。图18是示意性说明应用了根据本实施例的存储器系统的用户系统的简图。
参照图18,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动包括在诸如OS的用户系统6900中的组件,并且包括控制包括在用户系统6900中的组件的控制器、接口和图形引擎。应用处理器6930可作为片上系统(SoC)被提供。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDRSDARM、LPDDR2SDRAM或LPDDR3SDRAM的易失性RAM,或诸如PRAM、ReRAM、MRAM或FRAM的非易失性RAM。例如,可基于POP(堆叠式封装)封装和安装应用处理器6930和存储器模块6920。
网络模块6940可与外部装置通信。例如,网络模块6940不仅可支持有线通信,而且可支持各种无线通信协议,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置或特别是移动电子装置通信。因此,根据本发明的实施例的存储器系统和数据处理系统可应用于有线/无线电子装置。网络模块6940可被包括在应用处理器6930中。
存储模块6950可存储数据,例如从应用处理器6930接收的数据,然后可将所存储的数据传输到应用处理器6930。存储模块6950可通过诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3D NAND闪存的非易失性半导体存储器装置来实施,并且可被提供为诸如用户系统6900的存储卡或外部驱动器的可移除存储介质。存储模块6950可对应于参照图1描述的存储器系统110。此外,存储模块6950可被实施为如上参照图12至图17所述的SSD、eMMC和UFS。
用户接口6910可包括用于向应用处理器6930输入数据或命令或者用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示通过处理器6930处理的数据或支持从触摸面板接收数据的功能。
虽然为了说明性目的已经描述了各个实施例,但是对于本领域技术人员显而易见的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可进行各种改变和修改。
Claims (18)
1.一种控制器,其包括:
存储器,其适于存储从包括在存储器装置中的第一超级存储块的第一存储块读取的第一数据;
重排单元,其适于基于存储在所述存储器中的所述第一数据的序列信息重排存储在所述存储器中的第一数据;以及
处理器,其适于控制所述存储器装置将重排的第一数据写入所述存储器装置的第二超级存储块中,
其中当所述第一数据的大小等于或大于第一阈值时,所述重排单元重排所述第一数据,并且
其中当所述第一数据的大小大于所述第一阈值时,所述处理器控制所述存储器装置将重排的第一数据中大小等于所述第一阈值的重排数据写入所述第二超级存储块的第一页面中,并且将重排的第一数据中的剩余重排数据写入所述第二超级存储块的第二页面中,所述第二页面与所述第一页面不同。
2.根据权利要求1所述的控制器,其中所述重排单元基于序列信息顺序地重排所述第一数据。
3.根据权利要求1所述的控制器,其中所述第一阈值等于或大于包括在所述第一超级存储块中的所述第一存储块的一个或多个页面的存储容量。
4.根据权利要求3所述的控制器,其中所述序列信息包括逻辑块地址的信息。
5.根据权利要求3所述的控制器,其中所述第一数据是序列数据。
6.根据权利要求3所述的控制器,其中所述处理器根据所述第一数据的所述序列信息的顺序将所述第一数据从所述第一超级存储块复制到所述第二超级存储块。
7.根据权利要求3所述的控制器,其中所述第一阈值等于或小于所述第一超级存储块的预定存储容量。
8.根据权利要求3所述的控制器,其中当所述处理器经由所述存储器将所述第一数据从所述第一超级存储块复制到所述第二超级存储块时,所述重排单元重排存储在所述存储器中的所述第一数据。
9.根据权利要求8所述的控制器,其中所述处理器在垃圾收集操作期间复制所述第一数据。
10.一种控制器的操作方法,所述方法包括:
将从包括在存储器装置中的第一超级存储块的第一存储块读取的第一数据存储在存储器中;
基于存储在所述存储器中的所述第一数据的序列信息重排存储在所述存储器中的第一数据;以及
控制所述存储器装置将重排的第一数据写入所述存储器装置的第二超级存储块中,
其中当所述第一数据的大小等于或大于第一阈值时,将所述第一数据进行重排,并且
其中当所述第一数据的大小大于所述第一阈值时,将重排的第一数据中大小等于所述第一阈值的重排数据写入所述第二超级存储块的第一页面中,并且将重排的第一数据中的剩余重排数据写入所述第二超级存储块的第二页面中,所述第二页面与所述第一页面不同。
11.根据权利要求10所述的方法,其中基于序列信息顺序地重排所述第一数据。
12.根据权利要求10所述的方法,其中所述第一阈值等于或大于包括在所述第一超级存储块中的所述第一存储块的一个或多个页面的存储容量。
13.根据权利要求12所述的方法,其中所述序列信息包括逻辑块地址的信息。
14.根据权利要求12所述的方法,其中所述第一数据是序列数据。
15.根据权利要求12所述的方法,其中根据所述第一数据的所述序列信息的顺序将所述第一数据从所述第一超级存储块复制到所述第二超级存储块。
16.根据权利要求12所述的方法,其中所述第一阈值等于或小于所述第一超级存储块的预定存储容量。
17.根据权利要求12所述的方法,其中在经由所述存储器将所述第一数据从所述第一超级存储块复制到所述第二超级存储块的复制操作期间,将存储在所述存储器中的所述第一数据进行重排。
18.根据权利要求17所述的方法,其中在垃圾收集操作期间执行所述复制操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160184095A KR20180079584A (ko) | 2016-12-30 | 2016-12-30 | 컨트롤러 및 컨트롤러의 동작 방법 |
KR10-2016-0184095 | 2016-12-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108268212A CN108268212A (zh) | 2018-07-10 |
CN108268212B true CN108268212B (zh) | 2024-03-01 |
Family
ID=62711739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711080589.0A Active CN108268212B (zh) | 2016-12-30 | 2017-11-06 | 控制器及操作方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10489078B2 (zh) |
KR (1) | KR20180079584A (zh) |
CN (1) | CN108268212B (zh) |
TW (1) | TWI760363B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180079584A (ko) * | 2016-12-30 | 2018-07-11 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작 방법 |
JP7020989B2 (ja) * | 2018-04-23 | 2022-02-16 | 株式会社メガチップス | 不揮発性記憶装置、メモリ制御装置、及びメモリ制御方法 |
KR102611566B1 (ko) * | 2018-07-06 | 2023-12-07 | 삼성전자주식회사 | 솔리드 스테이트 드라이브 및 그의 메모리 할당 방법 |
KR20200053965A (ko) * | 2018-11-09 | 2020-05-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
TW202020664A (zh) * | 2018-11-26 | 2020-06-01 | 深圳大心電子科技有限公司 | 讀取資料排序方法及儲存裝置 |
KR102351087B1 (ko) * | 2019-06-04 | 2022-01-14 | 주식회사 딥엑스 | 인공신경망의 데이터 로컬리티 기반의 데이터 캐슁을 이용하여 고속의 인공신경망 오퍼레이션을 지원하는 데이터 관리 장치 |
KR20210017044A (ko) | 2019-08-06 | 2021-02-17 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치의 컨트롤러 및 그 동작 방법 |
KR20210076505A (ko) | 2019-12-16 | 2021-06-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20220009523A (ko) * | 2020-07-15 | 2022-01-25 | 삼성전자주식회사 | 스토리지 컨트롤러, 및 스토리지 컨트롤러의 동작 방법 |
TWI774272B (zh) * | 2021-03-15 | 2022-08-11 | 瑞昱半導體股份有限公司 | 影像顯示系統、影像處理電路與面板驅動方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102414991A (zh) * | 2009-04-24 | 2012-04-11 | 诺基亚公司 | 用于解码器的数据重排 |
US8572311B1 (en) * | 2010-01-11 | 2013-10-29 | Apple Inc. | Redundant data storage in multi-die memory systems |
CN103955436A (zh) * | 2014-04-30 | 2014-07-30 | 华为技术有限公司 | 一种数据处理装置和终端 |
CN105989885A (zh) * | 2015-03-18 | 2016-10-05 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4943869A (en) * | 1987-05-06 | 1990-07-24 | Fuji Photo Film Co., Ltd. | Compression method for dot image data |
US6906961B2 (en) * | 2003-06-24 | 2005-06-14 | Micron Technology, Inc. | Erase block data splitting |
WO2009005154A1 (ja) * | 2007-07-05 | 2009-01-08 | Nippon Telegraph And Telephone Corporation | 信号ブロック列処理方法および信号ブロック列処理装置 |
JP5141402B2 (ja) * | 2008-06-26 | 2013-02-13 | 富士通株式会社 | ストレージシステム,コピー制御方法およびコピー制御装置 |
US8190832B2 (en) * | 2009-01-29 | 2012-05-29 | International Business Machines Corporation | Data storage performance enhancement through a write activity level metric recorded in high performance block storage metadata |
KR101663667B1 (ko) * | 2009-02-03 | 2016-10-07 | 삼성전자주식회사 | 플래시 메모리의 주소 매핑에 의한 데이터 관리 방법 및 장치 |
TWI385518B (zh) * | 2009-03-20 | 2013-02-11 | Phison Electronics Corp | 用於快閃記憶體的資料儲存方法及儲存系統 |
US8667505B2 (en) * | 2010-09-14 | 2014-03-04 | Microsoft Corporation | Message queue management |
US20120198124A1 (en) * | 2011-01-28 | 2012-08-02 | Apple Inc. | Methods and systems for optimizing read operations in a non-volatile memory |
JP5962140B2 (ja) * | 2012-03-30 | 2016-08-03 | 富士通株式会社 | プログラム、制御方法、制御装置およびシステム |
US9355022B2 (en) * | 2012-12-07 | 2016-05-31 | Sandisk Technologies Inc. | Systems and methods for intelligent flash management |
KR20140088421A (ko) * | 2013-01-02 | 2014-07-10 | 삼성전자주식회사 | 불휘발성 메모리에 데이터를 프로그램하는 프로그램 방법 및 불휘발성 메모리로부터 데이터를 읽는 읽기 방법 |
US9466383B2 (en) * | 2013-12-30 | 2016-10-11 | Sandisk Technologies Llc | Non-volatile memory and method with adaptive logical groups |
US9634689B2 (en) * | 2014-08-20 | 2017-04-25 | Sunedison Semiconductor Limited (Uen201334164H) | Method and system for arranging numeric data for compression |
US20160179662A1 (en) * | 2014-12-23 | 2016-06-23 | David Pardo Keppel | Instruction and logic for page table walk change-bits |
KR20160111583A (ko) * | 2015-03-16 | 2016-09-27 | 삼성전자주식회사 | 호스트 및 복수의 저장 장치를 포함하는 메모리 시스템 및 그것의 데이터 이송 방법 |
US10019358B2 (en) * | 2015-03-20 | 2018-07-10 | Vixs Systems Inc. | Bank address remapping to load balance memory traffic among banks of memory |
JPWO2016175028A1 (ja) * | 2015-04-28 | 2018-02-22 | 日本電気株式会社 | 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム |
KR20170078315A (ko) | 2015-12-29 | 2017-07-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20180079584A (ko) * | 2016-12-30 | 2018-07-11 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작 방법 |
-
2016
- 2016-12-30 KR KR1020160184095A patent/KR20180079584A/ko active Search and Examination
-
2017
- 2017-07-20 US US15/655,206 patent/US10489078B2/en active Active
- 2017-09-14 TW TW106131601A patent/TWI760363B/zh active
- 2017-11-06 CN CN201711080589.0A patent/CN108268212B/zh active Active
-
2019
- 2019-10-17 US US16/656,166 patent/US20200050370A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102414991A (zh) * | 2009-04-24 | 2012-04-11 | 诺基亚公司 | 用于解码器的数据重排 |
US8572311B1 (en) * | 2010-01-11 | 2013-10-29 | Apple Inc. | Redundant data storage in multi-die memory systems |
CN103955436A (zh) * | 2014-04-30 | 2014-07-30 | 华为技术有限公司 | 一种数据处理装置和终端 |
CN105989885A (zh) * | 2015-03-18 | 2016-10-05 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20180079584A (ko) | 2018-07-11 |
US10489078B2 (en) | 2019-11-26 |
CN108268212A (zh) | 2018-07-10 |
TW201824000A (zh) | 2018-07-01 |
US20180188962A1 (en) | 2018-07-05 |
US20200050370A1 (en) | 2020-02-13 |
TWI760363B (zh) | 2022-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110399311B (zh) | 存储器系统及该存储器系统的操作方法 | |
CN107643985B (zh) | 存储器系统及其操作方法 | |
CN107562649B (zh) | 存储器系统及其操作方法 | |
CN107797882B (zh) | 存储器系统及其操作方法 | |
CN108268212B (zh) | 控制器及操作方法 | |
CN109144408B (zh) | 存储器系统及其操作方法 | |
CN110825318B (zh) | 控制器及其操作方法 | |
CN109947358B (zh) | 存储器系统及其操作方法 | |
CN107491396B (zh) | 存储器系统及其操作方法 | |
CN107450845B (zh) | 存储器系统及其操作方法 | |
CN107346214B (zh) | 存储器系统及其操作方法 | |
US20180074718A1 (en) | Memory system and method for operating the same | |
CN110347330B (zh) | 存储器系统及其操作方法 | |
CN108694138B (zh) | 控制器及其操作方法 | |
CN108108308B (zh) | 存储器系统及其操作方法 | |
CN109697171B (zh) | 控制器及其操作方法 | |
CN108932203B (zh) | 数据处理系统和数据处理方法 | |
US10445194B2 (en) | Memory system storing checkpoint information and operating method thereof | |
KR20180087496A (ko) | 메모리 시스템 | |
CN107562653B (zh) | 存储器系统及其操作方法 | |
CN110489271B (zh) | 存储器系统及其操作方法 | |
CN108733616B (zh) | 包括多处理器的控制器及其操作方法 | |
CN109933468B (zh) | 存储器系统及其操作方法 | |
CN108241470B (zh) | 控制器及其操作方法 | |
CN110765029B (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 |