CN113687767A - 存储控制器、存储器装置和存储装置 - Google Patents
存储控制器、存储器装置和存储装置 Download PDFInfo
- Publication number
- CN113687767A CN113687767A CN202110183623.7A CN202110183623A CN113687767A CN 113687767 A CN113687767 A CN 113687767A CN 202110183623 A CN202110183623 A CN 202110183623A CN 113687767 A CN113687767 A CN 113687767A
- Authority
- CN
- China
- Prior art keywords
- address
- memory
- command
- memory device
- block address
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 315
- 238000013519 translation Methods 0.000 claims abstract description 24
- 239000000872 buffer Substances 0.000 description 66
- 238000000034 method Methods 0.000 description 42
- 238000010586 diagram Methods 0.000 description 14
- 230000004044 response Effects 0.000 description 11
- 238000013507 mapping Methods 0.000 description 10
- 230000002093 peripheral effect Effects 0.000 description 10
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000003936 working memory Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000002265 prevention Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 101000711846 Homo sapiens Transcription factor SOX-9 Proteins 0.000 description 2
- 101100232371 Hordeum vulgare IAT3 gene Proteins 0.000 description 2
- 102100034204 Transcription factor SOX-9 Human genes 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005086 pumping Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 101150098958 CMD1 gene Proteins 0.000 description 1
- 101100382321 Caenorhabditis elegans cal-1 gene Proteins 0.000 description 1
- 101000741396 Chlamydia muridarum (strain MoPn / Nigg) Probable oxidoreductase TC_0900 Proteins 0.000 description 1
- 101000741399 Chlamydia pneumoniae Probable oxidoreductase CPn_0761/CP_1111/CPj0761/CpB0789 Proteins 0.000 description 1
- 101000741400 Chlamydia trachomatis (strain D/UW-3/Cx) Probable oxidoreductase CT_610 Proteins 0.000 description 1
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/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
- 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
- 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
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency 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/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash 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/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)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
Abstract
本申请涉及存储控制器、存储器装置和存储装置。一种存储控制器控制地址,使得包括在存储器装置中的芯片的数量可增加。该存储控制器包括:闪存转换层,其被配置为将从主机接收的逻辑块地址转换为物理块地址,其中,该闪存转换层基于从主机接收的请求来确定物理块地址中的多个地址中的至少一个的寻址单位;以及命令控制器,其被配置为基于请求来生成表示寻址单位的命令。
Description
技术领域
本文所描述的一个或更多个实施方式涉及一种存储装置和操作存储装置的方法。
背景技术
存储装置通常在诸如计算机、智能电话或智能平板的主机的控制下存储数据。一些存储装置将数据存储在磁盘(例如,硬盘驱动器)上,而其它存储装置将数据存储在诸如固态驱动器(SSD)和存储卡的非易失性半导体存储器中。
通常,存储器装置可被分类为易失性存储器装置和非易失性存储器装置。非易失性存储器装置的示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、相变RAM(PRAM)、磁性RAM(MRAM)、电阻RAM(RRAM)、铁电RAM(FRAM)等。
发明内容
各种实施方式提供一种存储装置以及该存储装置的操作方法,该存储装置改变输入列地址和行地址的时段以及输入列地址的单位以便在有限时段内输入地址,并且基于具有改变的时段和改变的单位的地址来执行操作。
根据本公开的一方面,提供了一种存储控制器,该存储控制器包括:闪存转换层,其被配置为将从主机接收的逻辑块地址转换为物理块地址,其中,该闪存转换层基于从主机接收的请求来确定物理块地址中的多个地址中的至少一个的寻址单位;以及命令控制器,其被配置为基于请求来生成表示寻址单位的命令。
根据本公开的另一方面,提供了一种存储器装置,该存储器装置包括:输入/输出电路,其被配置为接收命令和地址;列解码器,其被配置为对地址中的列地址进行解码;以及控制逻辑,其被配置为从输入/输出电路接收命令和地址,并且基于命令和地址控制输入/输出电路和列解码器执行操作,其中,控制逻辑基于命令是否表示列地址的寻址单位来生成选择信号。
根据本公开的另一方面,提供了一种包括存储器装置以及被配置为控制存储器装置的存储控制器的存储装置,其中,存储控制器将从主机接收的逻辑块地址转换为物理块地址并将物理块地址输出到存储器装置,其中,存储控制器基于来自主机的请求来确定物理块地址中的多个地址中的至少一个的寻址单位,并且生成表示寻址单位的命令,并且其中,存储器装置基于命令是否表示物理块地址中的多个地址中的至少一个的寻址单位来生成选择信号。
根据本公开的另一方面,提供了一种控制存储装置的方法,该方法包括以下步骤:从主机接收请求,基于请求来确定物理块地址中的多个地址的至少一个的寻址单位,并且生成指示寻址单位的命令,其中,所述确定寻址单位的步骤由被配置为将从主机接收的逻辑块地址转换为物理块地址的闪存转换层执行。
附图说明
现在将在下文参照附图更充分地描述示例实施方式;然而,这些实施方式可按照不同的形式来具体实现,不应被解释为限于本文中所阐述的实施方式。相反,提供这些实施方式以使得本公开将彻底和完整,并且将向本领域技术人员充分传达示例实施方式的范围。
在附图中,为了例示清晰,尺寸可能被夸大。将理解,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的仅有元件,或者也可存在一个或更多个中间元件。相似的标号始终表示相似的元件。
图1示出存储装置的实施方式。
图2示出存储器装置的实施方式。
图3示出存储器单元阵列的实施方式。
图4示出存储器装置的示例引脚配置。
图5A和图5B示出通过图4所示的数据输入/输出线输入的信息的示例。
图6A和图6B示出输入图5A和图5B所示的地址的方法。
图7A和图7B示出根据本公开的输入如图5A和图5B所示的地址的方法的实施方式。
图8示出根据本公开的对列地址进行寻址的方法。
图9示出根据本公开的存储控制器的实施方式。
图10示出根据本公开的列解码器的实施方式。
图11示出根据本公开的由存储控制器执行的方法的实施方式。
图12示出根据本公开的操作存储器装置的方法的实施方式。
图13示出根据本公开的存储控制器的实施方式。
图14示出存储卡系统的实施方式。
图15示出固态驱动器(SSD)系统的实施方式。
图16示出用户系统的实施方式。
具体实施方式
为了描述本公开的实施方式,本文所公开的具体结构或功能描述仅是例示性的。本公开的实施方式可按各种形式实现,不能被解释为限于本文中所阐述的实施方式。
图1是示出存储装置50的实施方式的框图,存储装置50可包括存储器装置100和存储控制器200。存储装置50可在主机300的控制下存储数据。主机300的示例包括移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐系统。
存储装置50可根据主机接口的通信标准、协议或接口而被制造为各种类型的存储装置中的任一种。存储装置50的示例包括固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、尺寸减小MMC(RS-MMC)、微型MMC(micro-MMC)、安全数字(SD)卡、迷你SD卡、微型SD卡、通用串行总线(USB)存储装置、通用闪存(UFS)装置、紧凑闪存(CF)卡、智能媒体卡(SMC)和记忆棒。
存储装置50可被制造为各种类型的封装类型中的任一种。例如,存储装置50可被制造为堆叠式封装(POP)、系统封装(SIP)、系统芯片(SOC)、多芯片封装(MCP)、板载芯片(COB)、晶圆级制造封装(WFP)和晶圆级层叠封装(WSP)。
存储器装置100可在存储控制器200的控制下存储数据。存储器装置100可包括存储器单元阵列,存储器单元阵列包括用于存储数据的多个存储器单元。存储器单元阵列可包括多个存储块,各个存储块可包括多个存储器单元。多个存储器单元可构成多个页。在实施方式中,页可以是用于在存储器装置100中存储数据或读取存储在存储器装置100中的数据的单位。存储块可以是用于擦除数据的单位。
在实施方式中,存储器装置100可包括列解码器124,列解码器124对列地址和行地址(包括在从存储控制器200接收的地址中)当中的列地址进行解码并且输出通过将列地址解码而获得的信号。信号可以是例如指示包括在特定页缓冲器或存储器装置100中的存储器单元当中的联接到特定列的存储器单元的列地址信号。
在实施方式中,列解码器124可包括复用器(MUX)。复用器可基于从存储控制器200接收的地址中所包括的列地址的寻址单位来输出用于指定页缓冲器的列地址信号。列地址的寻址单位可以是预定大小,例如1字节或512字节。当列地址的寻址单位为512字节时,寻址单位可以是扇区单位。
例如,当从存储控制器200接收的列地址以1字节为单位寻址时,列解码器124可输出1字节单位的列地址信号。然而,当从存储控制器200接收的列地址以512字节单位(例如,根据本文所描述的寻址方法的一个或更多个实施方式的扇区单位)寻址时,列解码器124可输出不同于1字节单位的512字节单位的列地址信号。
存储器装置100的示例包括双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪存、垂直NAND闪存、NOR闪存、电阻随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移矩随机存取存储器(STT-RAM)等。在本说明书中,为了说明方便,描述存储器装置100是NAND闪存的情况。
在实施方式中,存储器装置100可被实现为二维阵列结构或三维阵列结构。为了例示性目的,描述存储器装置100被实现为三维阵列结构的情况作为实施方式。另外,一个或更多个实施方式不仅可应用于电荷存储层利用浮栅(FG)来配置的闪存装置,而且可应用于电荷存储层利用绝缘层来配置的电荷捕获闪存(CTF)。
在实施方式中,存储器装置100可使用在一个存储器单元中存储一个数据比特的单级单元(SLC)方法来操作。在其它实施方式中,存储器装置100可使用在一个存储器单元中存储至少两个数据比特的方法来操作。例如,存储器装置100可使用在一个存储器单元中存储两个数据比特的多级单元(MLC)方法、在一个存储器单元中存储三个数据比特的三级单元(TLC)方法或者在一个存储器单元中存储四个数据比特的四级单元(QLC)方法来操作。
存储器装置100被配置为从存储控制器200接收命令和地址并且访问存储器单元阵列中的通过地址选择的区域。例如,存储器装置100可对通过地址选择的区域执行与命令对应的操作。在实施方式中,存储器装置100可根据所接收的命令来执行写(编程)操作、读操作和擦除操作。例如,当接收到编程命令时,存储器装置100可将数据编程在通过地址选择的区域中。当接收到读命令时,存储器装置100可从通过地址选择的区域读取数据。当接收到擦除命令时,存储器装置100可擦除存储在通过地址选择的区域中的数据。
存储控制器200可控制存储装置50的总体操作。当电源电压被施加到存储装置50时,存储控制器200可执行固件(FW)或其它指令。当存储器装置100是闪存装置时,存储控制器200可执行诸如闪存转换层(FTL)的FW以用于控制主机400与存储器装置100之间的通信。
在实施方式中,存储控制器200可包括固件(未示出),固件从主机300接收数据和逻辑块地址(LBA)并将LBA转换为表示存储器装置100中所包括的要存储数据的存储器单元的地址的物理块地址(PBA)。另外,存储控制器200可在缓冲存储器中存储建立LBA与PBA之间的映射关系的逻辑-物理地址映射表。
存储控制器200可响应于来自主机300的请求而控制存储器装置100执行各种操作,例如编程操作、读操作、擦除操作等。例如,当从主机300接收到编程请求时,存储控制器200可将编程请求改变为编程命令并且可向存储器装置100提供编程命令、PBA和数据。当从主机300与LBA一起接收到读请求时,存储控制器200可将读请求改变为读命令,选择与LBA对应的PBA,然后向存储器装置100提供读命令和PBA。当从主机300接收到擦除请求与LBA时,存储控制器200可将擦除请求改变为擦除命令,选择与LBA对应的PBA,然后向存储器装置100提供擦除命令和PBA。
在实施方式中,存储控制器200可自主地生成编程命令、地址和数据而无需来自主机300的任何请求,并且可将编程命令、地址和数据发送到存储器装置100。例如,存储控制器200可将命令、地址和数据提供给存储器装置100以执行后台操作(例如,用于耗损平衡的编程操作或用于垃圾收集的编程操作)。
在实施方式中,存储控制器200可包括从主机300接收逻辑块地址(LBA)的闪存转换层210。由于从主机300接收的LBA以扇区为单位寻址,所以闪存转换层210可将LBA转换为页单位的物理块地址(PBA),使得存储器装置100可操作。
在实施方式中,用于将LBA转换为要表示的PBA的比特数可随着存储器装置100的容量增加而增加。在一些情况下,从存储控制器200输出的地址可在五个时段(或五个周期)期间输入。因此,通过在五个时段(或五个周期)期间输入的地址表示的地址的数量可能有限。例如,尽管存储器装置100具有高容量,但是可能无法充分地确保用于表示地址的比特数。
因此,在本公开中,描述了一种用于灵活地改变在五个时段(或五个周期)期间输入的地址的方法,以指示高容量存储器装置100的地址。在一个实现方式中,灵活地改变地址可包括改变输入地址的时段或者改变用于表示地址的比特数。另外,输入地址的时段或者用于指示地址的比特数可根据从主机300接收的请求或者在存储控制器200中生成的请求而改变。
在实施方式中,当存储器装置100中(根据从主机300接收的请求或者存储控制器200的内部操作)要执行的操作是编程操作、读操作或擦除操作时,闪存转换层210可基于从主机300接收的LBA来生成512字节单位的列地址。由于列地址以512字节单位寻址,所以存储控制器200可在向存储器装置100输出地址的五个时段(或五个周期)当中的第一个时段(或一个周期)期间输出列地址,并且可在其它四个时段(或四个周期)期间输出行地址。
然而,当存储器装置100中(根据从主机300接收的请求或者存储控制器200的内部操作)执行的操作不是编程操作、读操作或擦除操作时,闪存转换层210可将从主机300接收的LBA转换为1字节单位的列地址。存储器装置100中执行的操作可以是例如访问寄存器,例如状态读操作(Status Read)或者寄存器值设定或读操作(Set/Get Feature)。因此,存储控制器200可在输出地址的五个时段(五个周期)期间的前两个时段(两个周期)期间向存储器装置100输出列地址,并且可在其它三个时段(或三个周期)期间向存储器装置100输出行地址。
在实施方式中,存储控制器200可包括命令控制器220。当存储器装置100中根据从主机300接收的请求或者存储控制器200的内部操作而要执行的操作是编程操作、读操作或擦除操作时,命令控制器220可生成与现有编程操作、现有读操作或现有擦除操作所对应的命令不同的命令。例如,命令控制器220可生成表示与对应操作对应的列地址将以512字节单位转换的命令。因此,存储器装置100可识别列地址以1字节单位还是512字节单位转换,并且可执行对应操作。
然而,当存储器装置100中(根据从主机300接收的请求或者存储控制器200的内部操作)要执行的操作不是编程操作、读操作或擦除操作时,命令控制器220可生成与现有编程操作、现有读操作或现有擦除操作所对应的命令相等的命令,并且可将所生成的命令输出到存储器装置100。
在实施方式中,存储装置50还可包括缓冲存储器(未示出)。存储控制器200可控制主机300与缓冲存储器之间的数据交换。在实施方式中,存储控制器200可将用于控制存储器装置100的系统数据暂时地存储在缓冲存储器中。例如,存储控制器200可将从主机300输入的数据暂时地存储在缓冲存储器中,然后可将暂时地存储在缓冲存储器中的数据发送到存储器装置100。
在各种实施方式中,缓冲存储器可用作存储控制器200的工作存储器或高速缓存存储器。缓冲存储器可存储由存储控制器200执行的代码或命令。在实施方式中,缓冲存储器可存储由存储控制器200处理的数据。缓冲存储器的示例包括诸如双倍数据速率同步DRAM(DDR SDRAM)、DDR4 SDRAM、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)或Rambus动态随机存取存储器(RDRAM)的动态随机存取存储器(DRAM)或者静态随机存取存储器(SRAM)。在各种实施方式中,缓冲存储器可以是联接到存储装置50的外部装置。联接到存储装置50的外部易失性存储器装置可执行缓冲存储器的功能。
在实施方式中,存储控制器200可控制至少两个存储器装置。存储控制器200可根据交织方法来控制存储器装置以改进操作性能。
主机300可使用通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插存储器模块(DIMM)、寄存DIMM(RDIMM)和负载减少DIMM(LRDIMM)中的至少一种来与存储装置50通信。
图2是示出存储器装置100的实施方式的图,存储器装置100可包括存储器单元阵列100、外围电路120和控制逻辑130。存储器单元阵列110包括通过行线RL联接到行解码器121的多个存储块BLK1至BLKz。多个存储块BLK1至BLKz可通过位线BL1至BLn联接到页缓冲器组123。存储块BLK1至BLKz中的每一个可包括多个存储器单元。在实施方式中,存储器单元可以是非易失性存储器单元。联接到同一字线的存储器单元可被定义为一个页。因此,一个存储块可包括多个页。
行线RL可包括至少一条源极选择线、多条字线和至少一条漏极选择线。包括在存储器单元阵列110中的各个存储器单元可被配置为存储一个数据比特的单级单元(SLC)、存储两个数据比特的多级单元(MLC)、存储三个数据比特的三级单元(TLC)或存储四个数据比特的四级单元(QLC)。
外围电路120可在控制逻辑130的控制下对存储器单元阵列110的所选区域执行编程操作、读操作或擦除操作。外围电路120可驱动存储器单元阵列110。例如,在控制逻辑130的控制下,外围电路120可对行线RL和位线BL1至BLn施加各种操作电压或者将所施加的电压放电。
外围电路120可包括行解码器121、电压发生器122、页缓冲器组123、列解码器124、输入/输出电路125和感测电路126。行解码器121通过行线RL联接到存储器单元阵列110,行线RL可包括至少一条源极选择线、多条字线和至少一条漏极选择线。在实施方式中,字线可包括正常字线和虚设字线。在实施方式中,行线RL还可包括管选择线。
行解码器121将从控制逻辑130接收的行地址RADD解码,并且根据解码的地址选择存储块BLK1至BLKz当中的至少一个存储块。行解码器121还可根据解码的地址来选择所选存储块的至少一条字线以将电压发生器122所生成的电压施加到所述至少一条字线WL。例如,在编程操作中,行解码器121可将编程电压施加到所选字线,并且可将电平低于编程电压的电平的编程通过电压施加到未选字线。在编程验证操作中,行解码器121可将验证电压施加到所选字线,并且可将电平高于验证电压的电平的验证通过电压施加到未选字线。
在读操作中,行解码器121可将读电压施加到所选字线,并且可将电平高于读电压的电平的读通过电压施加到未选字线。
在实施方式中,以存储块为单位执行存储器装置100的擦除操作。在擦除操作中,行解码器121可根据解码的地址选择一个存储块。在擦除操作中,行解码器121可将接地电压施加到联接到所选存储块的字线。
电压发生器122在控制逻辑130的控制下操作。在操作中,电压发生器122可使用供应给存储器装置100的外部电源电压来生成多个电压。例如,电压发生器可响应于操作信号OPSIG而生成在编程操作、读操作和擦除操作中使用的各种操作电压Vop。在实施方式中,电压发生器122可在控制逻辑130的控制下生成编程电压、验证电压、通过电压、读电压、擦除电压等。
在实施方式中,电压发生器122可通过调节外部电源电压来生成内部电源电压。由电压发生器122生成的内部电源电压用作存储器装置100的操作电压。
在实施方式中,电压发生器122可使用外部电源电压或内部电源电压来生成多个电压。例如,电压发生器122可包括用于接收内部电源电压的多个泵浦电容器,并且可通过在控制逻辑130的控制下选择性地启用这多个泵浦电容器来生成多个电压。多个生成的电压可通过行解码器121被供应给存储器单元阵列110。
页缓冲器组123包括通过相应的第一位线BL1至第n位线BLn联接到存储器单元阵列110的第一页缓冲器PB1至第n页缓冲器PBn。第一位线BL1至第n位线BLn在控制逻辑130的控制下操作。例如,第一位线BL1至第n位线BLn可响应于页缓冲器控制信号PBSIGNALS而操作。例如,第一页缓冲器PB1至第n页缓冲器PBn可暂时存储通过第一位线BL1至第n位线BLn接收的数据,或者可在读操作或验证操作中感测位线BL1至BLn的电压或电流。
具体地,在编程操作中,当编程电压被施加到所选字线时,第一页缓冲器PB1至第n页缓冲器PBn可将通过输入/输出电路125接收的数据DATA通过第一位线BL1至第n位线BLn传送到所选存储器单元。根据传送的数据DATA对所选页的存储器单元进行编程。在编程验证操作中,第一页缓冲器PB1至第n页缓冲器PBn通过感测通过第一位线BL1至第n位线BLn从所选存储器单元接收的电压或电流来读取页数据。
在读操作中,第一页缓冲器PB1至第n页缓冲器PBn通过第一位线BL1至第n位线BLn从所选页的存储器单元读取数据DATA,并在列解码器124的控制下将所读取的数据DATA输出到输入/输出电路125。
在擦除操作中,第一页缓冲器PB1至第n页缓冲器PBn可将第一位线BL1至第n位线BLn浮置或施加擦除电压。
列解码器124可响应于列地址CADD在输入/输出电路125和页缓冲器组123之间通信数据。例如,列解码器124可通过数据线DL与第一页缓冲器PB1至第n页缓冲器PBn通信数据或者可通过列线CL与输入/输出电路125通信数据。输入/输出电路125可将从存储控制器(例如,图1所示的200)接收的命令CMD和地址ADDR传送到控制逻辑130或者与列解码器124交换数据DATA。
在读操作或验证操作中,感测电路125可响应于允许比特VRYBIT信号生成基准电流,并且可通过对从页缓冲器组123接收的感测电压VPB与通过基准电流生成的基准电压进行比较来输出通过信号或失败信号PASS/FAIL。
响应于命令CMD和地址ADDR,控制逻辑130可通过输出操作信号OPSIG、行地址RADD、页缓冲器控制信号PBSIGNALS和允许比特VRYBIT来控制外围电路120。例如,控制逻辑130可响应于子块读命令和地址来控制所选存储块的读操作。另外,控制逻辑130可响应于子块擦除命令和地址来控制包括在所选存储块中的所选子块的擦除操作。控制逻辑130可响应于通过信号PASS或失败信号FAIL来确定验证操作通过还是失败。
包括在存储器单元阵列110中的各个存储器单元可根据存储在其中的数据而被编程为多个编程状态当中的任一个编程状态。存储器单元的目标编程状态可根据存储在存储器单元中的数据而被确定为多个编程状态中的任一个。
图3是示出图2所示的存储器单元阵列的实施方式的图。参照图3,示出电路图,其示出存储块BLKa,该存储块BLKa可表示图2所示的存储器单元阵列110中的多个存储块BLK1至BLKz的结构。
在存储块BLKa中,第一选择线、字线和第二选择线平行布置并且可彼此联接,例如,字线可并行布置在第一选择线和第二选择线之间。第一选择线可以是源极选择线SSL,第二选择线可以是漏极选择线DSL。例如,存储块BLKa可包括联接在位线BL1至BLn与源极线SL之间的多个串。位线BL1至BLn可分别联接到串,并且源极线SL可共同联接到串。这些串可彼此相同地配置。将作为示例描述联接到第一位线BL1的串ST。
串ST可包括彼此串联联接在源极线SL与第一位线BL1之间的源极选择晶体管SST、多个存储器单元F1至F16和漏极选择晶体管DAT。一个串ST中可包括至少一个源极选择晶体管SST和至少一个漏极选择晶体管DST。在实施方式中,一个串ST中可包括数量大于所示的存储器单元F1至F16的数量的存储器单元。
源极选择晶体管SST的源极可联接到源极线SL,漏极选择晶体管DAT的漏极可联接到第一位线BL1。存储器单元F1至F16可串联联接在源极选择晶体管SST和漏极选择晶体管DST之间。包括在不同串中的源极选择晶体管SST的栅极可联接到源极选择线SSL,包括在不同串中的漏极选择晶体管DST的栅极可联接到漏极选择线DSL。存储器单元F1至F16的栅极可联接到多条字线WL1至WL16。包括在不同串中的存储器单元当中的联接到同一字线的一组存储器单元可被称为物理页PPG。因此,存储块BLKa中可包括与字线WL1至WL16的数量对应的物理页。
一个存储器单元可存储一比特的数据。存储器单元可被称为单级单元(SLC)。一个物理页PG可存储一个逻辑页(LPG)数据。一个LPG数据可包括与一个物理页PPG中包括的单元的数量对应的数据比特数。在实施方式中,一个存储器单元MC可存储两个或更多个比特的数据。在这种情况下,存储器单元可被称为多级单元(MLC)。一个物理页PPG可存储两个或更多个LPG数据。
用于存储两个或更多个比特的数据的存储器单元可被称为MLC。用于存储三个或更多个比特的数据的存储器单元可被称为三级单元(TLC),用于存储四个或更多个比特的数据的存储器单元可被称为四级单元(QLC)。已开发了用于存储多个比特的数据的存储器单元,实施方式可应用于存储两个或更多个比特的数据的存储器系统。
在另一实施方式中,多个存储块中的每一个可具有三维结构。各个存储块可包括层叠在基板上的多个存储器单元。多个存储器单元可沿着+X、+Y和+Z方向布置。
图4是示出图1所示的存储器装置的引脚配置的示例的图。参照图4,存储器装置(例如,图1所示的100)可通过多条输入/输出线与外部控制器通信。例如,存储器装置(例如,图1所示的100)可通过包括芯片使能线CE#、写使能线WE#、读使能线RE#、地址锁存使能线ALE、命令锁存使能线CLE、写防止线WP#和就绪繁忙线RB的控制信号线以及数据输入/输出线DQ来与外部控制器通信。
存储器装置(例如,图1所示的100)可通过芯片使能线CE#从外部控制器接收芯片使能信号。存储器装置(例如,图1所示的100)可通过写使能线WE#从外部控制器接收写使能信号。存储器装置可通过读使能线RE#从外部控制器接收读使能信号。存储器装置(图1所示的100)可通过地址锁存使能线ALE从外部控制器接收地址锁存使能信号。存储器装置(例如,图1所示的100)可通过命令锁存使能线CLE从外部控制器接收命令锁存使能信号。存储器装置(例如,图1所示的100)可通过写防止线WP#从外部控制器接收写防止信号。
在实施方式中,存储器装置(例如,图1所示的100)可通过就绪繁忙线RB向存储控制器(例如,图1所示的200)提供用于输出存储器装置(例如,图1所示的100)处于就绪状态还是繁忙状态的就绪繁忙信号。
芯片使能信号可以是用于选择存储器装置(例如,图1所示的100)的控制信号。当芯片使能信号处于“高”状态,并且存储器装置(例如,图1所示的100)对应于“就绪”状态时,存储器装置(例如,图1所示的100)可进入低功率待机状态。
写使能信号可以是用于控制输入到存储器装置(例如,图1所示的100)的命令、地址和输入数据被存储在锁存器中的控制信号。
读使能信号可以是用于允许输出串行数据的控制信号。
地址锁存使能信号可以是主机用来表示通过输入/输出线DQ输入的信号的类型是命令、地址和数据中的哪一种的控制信号之一。
命令锁存使能信号可以是主机用来表示通过输入/输出线DQ输入的信号的类型是命令、地址和数据中的哪一种的控制信号之一。例如,当命令锁存使能信号被启用(例如,逻辑高),地址锁存使能信号被停用(例如,逻辑低),并且写使能信号被启用(例如,逻辑低),然后被停用(例如,逻辑高)时,存储器装置(例如,图1所示的100)可识别出通过输入/输出线DQ输入的信号是命令。例如,当命令锁存使能信号被停用(例如,逻辑低),地址锁存使能信号被启用(例如,逻辑高),并且写使能信号被启用(例如,逻辑低),然后被停用(例如,逻辑高)时,存储器装置(例如,图1所示的100)可识别出通过输入/输出线DQ输入的信号是地址。
写防止信号可以是用于停用由存储器装置(图1所示的100)执行的编程操作和擦除操作的控制信号。
就绪繁忙信号可以是用于识别存储器装置(例如,图1所示的100)的状态的信号。低状态的就绪繁忙信号表示存储器装置(例如,图1所示的100)正在执行至少一个操作。高状态的就绪繁忙信号表示存储器装置(例如,图1所示的100)不在执行任何操作。
在存储器装置(例如,图1所示的100)正在执行编程操作、读操作和擦除操作中的任一个时,就绪繁忙信号可处于低状态。在本公开的实施方式中,存储控制器(例如,图1所示的200)可基于就绪繁忙信号来确定作为编程操作或擦除操作结束的时间的结束时间。
图5A和图5B是示出通过图4所示的数据输入/输出线输入的命令、地址和数据的示例的图。例如,图5A表示通过图4所示的数据输入/输出线DQ依次输入的第一命令CMD1、第一地址ADDR1、第一数据DATA1和第二命令CMD2的流程。图5B表示通过图4所示的数据输入/输出线DQ依次输入的第三命令CMD3、第二地址ADDR2和第四命令CMD4的流程。
参照图5A,第一命令CMD1可以是表示对从存储控制器(例如,图1所示的200)接收的数据进行编程的方法的设置命令。可基于设置命令来确定单级单元(SLC)方法、多级单元(MLC)方法、三级单元(TLC)方法和四级单元(QLC)方法当中的任一个方法和/或页编程方法、多平面编程方法和高速缓存编程方法当中的任一个编程方法。
可通过数据输入/输出线DQ接着第一命令CMD1接收第一地址ADDR1。第一地址ADDR1可包括列地址和行地址,例如,第一地址ADDR1可表示要暂时存储从存储控制器(例如,图1所示的200)传送的数据的页缓冲器以及要存储页缓冲器中存储的数据的存储器区域。要存储数据的存储器区域可以是包括在存储器单元阵列(例如,图2所示的110)中的存储块BLK1至BLKz中的任一个。
在实施方式中,存储器装置(例如,图2所示的100)可依次接收包括在第一地址ADDR1中的列地址和行地址。可基于所接收的列地址来确定包括在页缓冲器组(例如,图2所示的123)中的页缓冲器或者存储器单元阵列(例如,图2所示的110)的特定列。可基于所接收的行地址来确定要存储页缓冲器中存储的数据的存储器区域或存储块。
通过数据输入/输出线DQ接着第一地址ADDR1接收的第一数据DATA1可以是要存储或编程在存储器单元阵列(例如,图2所示的110)中的数据。第一数据DATA1可被暂时存储在页缓冲器组(例如,图2所示的123)中包括的多个页缓冲器当中的一个缓冲器中,然后被编程在被确定与行地址对应的存储器区域中。
通过数据输入/输出线DQ接着第一数据DATA1接收的第二命令CMD2可以是确认命令。确认命令可以是指示与设置命令所确定的命令对应的操作的开始的命令。因此,当存储器装置(图2所示的100)接收到确认命令时,存储器装置(图2所示的100)可将从存储控制器(图1所示的200)传送的第一数据DATA1编程在多个存储器区域当中的任一个存储器区域中。
参照图5B,第三命令CMD3可以是表示读取编程在存储器装置(图2所示的100)中的数据的方法的设置命令。例如,可基于设置命令来确定页读取方法、高速缓存读取方法、平面读取方法和多平面读取方法当中的任一个读取方法。
可通过数据输入/输出线DQ接着第三命令CMD3接收第二地址ADDR2。类似于第一地址ADDR1,第二地址ADDR2可包括列地址和行地址。例如,第二地址ADDR2可表示包括在存储器单元阵列(图2所示的110)中的存储器单元当中的特定存储器单元的位置。
在实施方式中,存储器装置(图2所示的100)可依次接收包括在第二地址ADDR2中的列地址和行地址。可基于所接收的列地址来确定包括在页缓冲器组(图2所示的123)中的页缓冲器或存储器单元阵列(图2所示的110)的特定列。可基于所接收的行地址来确定要存储页缓冲器中存储的数据的存储器区域或存储块。
通过数据输入/输出线DQ接着第二地址ADDR2接收的第四命令CMD4可以是确认命令。确认命令可以是指示与设置命令所确定的命令对应的操作的开始的命令。因此,当存储器装置(图2所示的100)接收到确认命令时,存储器装置(图2所示的100)可读取存储在第二地址ADDR2所指定的存储器单元中的数据,并将所读取的数据输出到存储控制器(图1所示的200)。
在实施方式中,图5A和图5B中的第一地址ADDR1和第二地址ADDR2中的每一个中包括的列地址和行地址可以按字节为单位寻址。例如,第一地址ADDR1和第二地址ADDR2中的每一个可以是页单位的地址。
然而,当存储器装置(图2所示的100)具有高容量时,用于指示地址的比特数可增加。因此,可改变地址输入到存储器装置(图2中的100)的时段(周期)和/或地址的寻址单位。将参照图6A至图8更详细地描述包括在地址中的列地址和行地址的寻址方法。
图6A和图6B是示出输入图5A和图5B所示的地址的方法的图。图6A示出当输入第一地址ADDR1或第二地址ADDR2(示出于图5A和图5B中)时实际输入的地址。图6B示出在图6A的各个周期中通过实际输入/输出线DQ输入的比特。示出图4所示的输入/输出线DQ配置有八条输入/输出线DQ0至DQ7的情况。另外,图6A和图6B示出当存储器装置(图2所示的100)的容量为1Tb时的地址的情况。
参照图5A、图5B和图6A,可在五个时段(或五个周期)期间输入第一地址ADDR1或第二地址ADDR2(示出于图5A和图5B中)。在实施方式中,如果当存储器装置(图2所示的100)的容量为1Tb时以16-Kb为单位生成页并且以2-Kb为单位生成空闲区(spare),则可能需要15比特数据来表示列地址COLUMN ADDR(例如,A[14:0]=100111101010111),并且可能需要23比特数据来表示行地址ROW ADDR(例如,A[16:39]=101010011101110100111011)。
因此,包括在地址中的列地址COLUMN ADDR的部分C1可在第一周期1st CYCLE期间输入(例如,10011110),并且列地址COLUMN ADDR的其它部分C2可在第二周期2nd CYCLE期间输入(例如,1010111)。另外,包括在地址中的行地址ROW ADDR的部分R1可在第三周期3rdCYCLE期间输入(例如,10101001),行地址ROW ADDR的另一部分R2可在第四周期4th CYCLE期间输入(例如,11011101),行地址ROW ADDR的其它部分R3可在第五周期5th CYCLE期间输入(例如,00111011)。
参照图6A和图6B,可在第一周期1st CYCLE和第二周期2nd CYCLE期间通过输入/输出线DQ0至DQ7输入列地址COLUMN ADDR。例如,在第一周期1st CYCLE期间分别通过DQ0、DQ1、DQ2、DQ3、DQ4、DQ5、DQ6和DQ7输入A0、A1、A2、A3、A4、A5、A6和A7之后,可在第二周期2nd CYCLE期间分别通过DQ0、DQ1、DQ2、DQ3、DQ4、DQ5、DQ6和DQ7输入A8、A9、A10、A11、A12、A13和A14。A0至A14 A[14:0]中的每一个可为“0”或“1”。
在实施方式中,在第二周期2nd CYCLE中,可输入通过DQ7输入的数据以将列地址COLUMN ADDR和行地址ROW ADDR彼此区分。另选地,可能不存在通过DQ7输入的数据。
参照图6A和图6B,可在第三周期3rd CYCLE至第五周期5th CYCLE期间通过输入/输出线DQ0至DQ7输入行地址ROW ADDR。例如,可在第三周期3rd CYCLE和第四周期4th CYCLE期间通过输入/输出线DQ0至DQ7输入表示特定字线WORD LINE的位置的比特A16至A24 A[24:16],可在第四周期4th CYCLE期间通过输入/输出线DQ0至DQ7输入表示特定平面PLANE的位置的比特A25和A26 A[26:25],并且可在第四周期4th CYCLE和第五周期5th CYCLE期间通过输入/输出线DQ0至DQ7输入表示特定存储块BLOCK的位置的比特A27至A36 A[36:27]以及表示逻辑单元装置LUN的位置的比特A37至A39 A[39:37]。A16至A39 A[39:16]中的每一个可为“0”或“1”。
参照图6A和图6B,如果从存储控制器(图1所示的200)接收的地址以1字节为单位寻址,则当存储器装置(图2所示的100)的容量为1Tb时,可能需要15比特数据来表示列地址COLUMN ADDR,并且可能需要23比特数据来表示行地址ROW ADDR。
例如,当存储器装置(图2所示的100)的容量为1Tb时,在第三周期3rd CYCLE至第五周期5th CYCLE期间输入的所有比特A[39:16]可用于表示行地址ROW ADDR。即,具有1Tb的容量的存储器装置(图2所示的100)的地址无法通过在第三周期3rd CYCLE至第五周期5thCYCLE的三个周期期间输入的地址来表示。
因此,当存储器装置(图2所示的100)的容量逐渐增加至2Tb和4Tb时,对应地址无法通过在第三周期3rd CYCLE至第五周期5th CYCLE期间输入的比特来表示,因此可增加输入行地址ROW ADDR的周期。
此外,从存储控制器(图1所示的200)发送至存储器装置(图2所示的100)的地址要在第一周期1st CYCLE至第五周期5th CYCLE期间(例如,在五个周期内)输入。因此,当输入行地址ROW ADDR的周期增加时,可减小输入列地址COLUMN ADDR的周期。因此,另外,列地址COLUMN ADDR可以按512字节单位而非1字节单位寻址,以在减小的周期中输入列地址COLUMN ADDR。
图7A和图7B是示出根据本公开的输入图5A和图5B所示的地址的方法的实施方式的图。参照图7A和图7B,图7A示出当以512字节单位对地址进行寻址时实际输入的地址,图7B示出在各个周期中通过实际输入/输出线DQ输入的比特。示出图7A和图7B所示的输入/输出线DQ配置有八条输入/输出线DQ0至DQ7的情况。另外,示出图7A和图7B示出当存储器装置(图2所示的100)的容量超过1Tb时的地址的情况。
参照图6A、图6B、图7A和图7B,类似于图6A和图6B,图7A和图7B示出在五个时段(或周期)期间输入的地址。然而,与图6A和图6B不同,图7A和图7B示出仅在第一周期1st CYCLE期间输入列地址COLUMN ADDR。例如,根据实施方式,当列地址COLUMN ADDR以512字节单位寻址时,可仅在第一周期1st CYCLE期间通过输入/输出线DQ0至DQ7输入列地址COLUMNADDR。
在实施方式中,当存储器装置(图1所示的100)中根据从主机(图1所示的300)接收的请求或者存储控制器(图1所示的200)的内部操作要执行的操作是编程操作、读操作或擦除操作时,闪存转换层(图1所示的210)可基于从主机(图1所示的300)接收的逻辑块地址(LBA)以512字节单位生成列地址。当以512字节单位生成列地址时,可利用8比特表示列地址。因此,可在第一周期1st CYCLE期间输入包括在地址中的列地址COLUMN ADDR。另外,可在其它的第二周期2nd CYCLE至第五周期5th CYCLE期间输入行地址R1至R4。
参照图7A和图7B,可在第一周期1st CYCLE期间通过输入/输出线DQ0至DQ7输入列地址COLUMN ADDR。所输入的列地址COLUMN ADDR可以按512字节为单位生成。例如,可在第一周期1st CYCLE期间通过输入/输出线DQ0至DQ7输入A0至A7。A0至A7 A[7:0]中的每一个可为“0”或“1”。
参照图7A和图7B,可在第二周期2nd CYCLE至第五周期5th CYCLE期间通过输入/输出线DQ0至DQ7输入行地址ROW ADDR。即,与图6A和图6B中输入的行地址不同,可输入添加了一个周期的行地址ROW ADDR。例如,表示特定字线WORD LINE的位置的比特A8至A24 A[24:8]可在第二周期2nd CYCLE至第四周期4th CYCLE期间通过输入/输出线DQ0至DQ7输入,表示特定平面PLANE的位置的比特A25和A26 A[26:25]可在第四周期4th CYCLE期间通过输入/输出线DQ0至DQ7输入,并且表示特定存储块BLOCK的比特A27至A36 A[36:27]以及表示逻辑单元装置LUN的位置的比特A37至A39 A[39:37]可在第四周期4th CYCLE和第五周期5th CYCLE期间通过输入/输出线DQ0至DQ7输入。A8至A39 A[39:16]中的每一个可为“0”或“1”。
示出表示字线WORD LINE的位置的比特被扩展的情况。然而,在另一实施方式中,表示平面PLANE、存储块BLOCK或逻辑单元装置LUN的位置的比特可被扩展。在另一实施方式中,可灵活地改变表示字线WORD LINE、平面PLANE、存储块BLOCK或逻辑单元装置LUN的比特。
图8是示出对列地址进行寻址的一种类型的方法的图。参照图8,图8所示的第一至第七列表示用于表示列地址COLUMN ADDR(例如,通过输入/输出线DQ0至DQ7输入的A0至A7)的比特。第八列表示该方法中可以按1字节单位的字节寻址BYTE ADDRESSING表示地址的范围。第九列表示可根据本公开以512字节单位的扇区寻址SECTOR ADDRESSING或块寻址BLOCK ADDRESSING表示地址的范围。在图8中,A0至A7中的每一个可为“0”或“1”。
在实施方式中,利用A1至A7表示的地址可根据字节寻址BYTE ADDRESSING和块寻址BLOCK ADDRESSING而改变。例如,在字节寻址BYTE ADDRESSING中,地址依次增加1字节(0、1、2、…)。另外,由于地址依次增加1字节,所以可由通过输入/输出线DQ0至DQ7输入的A1至A7一次表示的地址为255字节。此外,可由在两个周期期间输入的A1至A7一次表示的地址为65536字节。因此,当以16-Kb为单位生成页并且以2-Kb为单位生成空闲区时,要在两个周期期间输入地址以表示列地址。
然而,在块寻址BLOCK ADDRESSING中,地址依次增加512字节(0、512、1024、…)。另外,由于地址依次增加512字节,所以可由通过输入/输出线DQ0至DQ7输入的A1至A7一次表示的地址为130560字节。因此,与字节寻址BYTE ADDRESSING不同,根据块寻址BLOCKADDRESSING,16-Kb单位的页和2-Kb单位的空闲区可由在一个周期期间输入的A1至A7充分表示。即,根据块寻址BLOCK ADDRESSING,可仅使用在一个周期期间输入的地址来表示列地址。
因此,根据本公开的实施方式,列地址COLUMN ADDR可在一个周期期间输入,使得在输入地址的五个周期当中的四个周期期间输入行地址ROW ADDR。另外,列地址可根据512字节单位的块寻址BLOCK ADDRESSING来寻址,使得在一个周期期间输入列地址COLUMNADDR。当列地址根据块寻址BLOCK ADDRESSING来寻址时,可在一个周期期间输入所有列地址。
图9是示出存储控制器200的实施方式的图,存储控制器200可包括闪存转换层210和命令发生器220。闪存转换层210可从主机300与请求REQUEST一起接收逻辑块地址(LBA)。从主机300接收的请求REQUEST可以是编程请求、读请求和擦除请求中的任一个。因此,与从主机300接收的REQUEST一起接收的LBA可对应于编程请求、读请求和擦除请求中的任一个。
在实施方式中,闪存转换层210可将LBA转换为物理块地址(PBA)并将PBA输出到存储器装置100。LBA以扇区为单位寻址,并且存储器装置100以页为单位或存储块为单位执行操作。因此,LBA可被转换为PBA,使得存储器装置100执行操作。
从闪存转换层210输出的PBA可在五个周期期间通过输入/输出线DQ输入到存储器装置100。列地址可在五个周期当中的两个周期期间输入,并且行地址可在五个周期当中的三个周期期间输入。然而,当存储器装置100的容量增加时,用于表示存储器装置100的地址的比特数可增加。例如,当存储器装置100的容量增加时,用于表示行地址的比特数可增加。
因此,当存储器装置100的容量增加时,LBA可作为PBA寻址,使得在输入PBA的五个周期当中的仅一个周期期间输入列地址,并且在其它四个周期期间输入行地址。例如,根据实施方式,可分配更多数量的比特来表示行地址,并且可在从现有的三个周期增加的四个周期期间输入行地址。另外,由于要在一个周期而非现有的两个周期期间输入列地址,所以列地址可以按512字节单位寻址。
在本实施方式中,当存储器装置100中要执行的操作根据从主机300接收的请求REQUEST或者存储控制器200的内部操作来确定时,可根据对应操作来设定列地址的寻址单位以及输入列地址和行地址的时段。例如,当存储器装置100中根据从主机300接收的请求REQUEST或者存储控制器200的内部操作而要执行的操作是编程操作、读操作或擦除操作时,闪存转换层210可基于从主机300接收的LBA来生成512字节单位的列地址。另外,512字节单位的列地址可在输入地址的五个周期当中的一个周期期间输入到存储器装置100,并且1字节单位的行地址可在五个周期当中的四个周期期间输入到存储器装置。
在实施方式中,当存储器装置100中根据从主机300接收的请求REQUEST或者存储控制器200的内部操作而要执行的操作是编程操作、读操作或擦除操作时,命令控制器220可生成与现有编程操作、现有读操作或擦除操作所对应的命令不同的命令。例如,命令控制器220可生成表示与对应操作对应的列地址要以512字节单位转换的命令。因此,存储器装置100可基于命令控制器220所生成的命令来识别列地址以1字节单位还是512字节单位寻址,并执行对应操作。
然而,当存储器装置100中根据从主机300接收的请求REQUEST或者存储控制器200的内部操作而要执行的操作不是编程操作、读操作或擦除操作时,命令控制器220可生成与现有命令相同的命令,并将所生成的命令输出到存储器装置100。例如,当存储器装置100中根据从主机300接收的请求REQUEST或者存储控制器200的内部操作而要执行的操作是访问寄存器的操作(例如,状态读操作(Status Read)或寄存器值设定或读操作(Set/GetFeature))时,可使用与现有方法相同的方法来执行寻址,生成与现有命令相同的命令,并将所生成的命令输出到存储器装置100。
图10是示出在图2所示的存储器装置中由列解码器执行的操作的实施方式的图。参照图2和图10,列解码器124可包括复用器124_1,复用器124_1基于列地址COL_ADDR来输出列地址信号COL_ADDR_SIG。列地址信号COL_ADDR_SIG可以是用于指定页缓冲器组(例如,图2所示的123)中所包括的多个页缓冲器PB1至PBn中的任一个或者指定存储器单元阵列(例如,图2所示的110)中所包括的存储器单元的任一条列线CL的信号。
在实施方式中,列解码器124可将从存储控制器(图1所示的200)接收的地址中所包括的列地址COL_ADDR解码。列地址COL_ADDR可以1字节单位或512字节单位解码(寻址)。根据列地址COL_ADDR的单位是1字节单位还是512字节单位,可选择复用器124_1的第一线或第二线,并且可通过对应线输入列地址COL_ADDR。例如,当存储器装置100中根据从主机300接收的请求或者存储控制器200的内部操作而要执行的操作是编程操作、读操作或擦除操作时,列地址COL_ADDR可以按512字节单位解码,在其它情况下以1字节单位解码。
在实施方式中,列解码器124可从控制逻辑(图2所示的130)接收选择信号SEL_SIG。控制逻辑130可基于从存储控制器(图2所示的200)接收的命令来生成选择信号SEL_SIG。例如,当从存储控制器(图1所示的200)接收的命令表示列地址COL_ADDR以512字节单位寻址时,控制逻辑130可基于从存储控制器(图1所示的200)接收的命令来生成并输出选择信号SEL_SIG“1”。
例如,可从控制逻辑130输出表示列地址COL_ADDR以512字节单位寻址的选择信号SEL_SIG,并且基于选择信号SEL_SIG从存储控制器(图1所示的200)接收的列地址COL_ADDR可以按512字节单位解码。
在另一示例中,当从存储控制器(图1所示的200)接收的命令表示列地址COL_ADDR以1字节单位寻址时,控制逻辑130可基于从存储控制器(图1所示的200)接收的命令来生成并输出选择信号SEL_SIG。例如,可从控制逻辑130输出表示列地址COL_ADDR以1字节单位寻址的选择信号SEL_SIG,并且基于选择信号SEL_SIG从存储控制器(图1所示的200)接收的列地址COL_ADDR可以按1字节单位解码。
在实施方式中,表示列地址COL_ADDR以512字节单位寻址的选择信号SEL_SIG为“1”。然而,在另一实施方式中,表示列地址COL_ADDR以512字节单位寻址的选择信号SEL_SIG可为“0”。
在实施方式中,复用器124_1可基于列地址COL_ADDR和选择信号SEL_SIG来输出列地址信号COL_ADDR_SIG。例如,当选择信号SEL_SIG为“1”时,复用器124_1可输出表示从存储控制器(图2所示的200)接收的列地址COL_ADDR是以512字节单位寻址的列地址COL_ADDR的列地址信号COL_ADDR_SIG。因此,复用器124_1可输出以512字节单位解码的列地址信号COL_ADDR_SIG。
然而,当选择信号SEL_SIG为“0”时,复用器124_1可输出表示从存储控制器(图2所示的200)接收的列地址COL_ADDR是以1字节单位寻址的列地址COL_ADDR的列地址信号COL_ADDR_SIG。因此,复用器124_1可输出以1字节单位解码的列地址信号COL_ADDR_SIG。
在实施方式中,复用器124_1以开关形式表示。在各种实施方式中,复用器124_1可包括多个晶体管和/或电阻器。
因此,存储器装置100基于从列解码器124输出的列地址信号COL_ADDR_SIG来执行操作,并且可对根据列地址信号COL_ADDR_SIG所表示的寻址单位指定的区域执行操作。
图11是示出根据本公开的实施方式的由存储控制器执行的操作的实施方式的图。参照图11,在S1101中,存储控制器可从主机接收请求和逻辑块地址。从主机接收的请求可以是编程请求、读请求或擦除请求。另选地,从主机接收的请求是除编程请求、读请求或擦除请求之外的请求,并且可以是与访问寄存器的操作(例如,状态读操作(Status Read)或者寄存器值设定或读操作(Set/Get Feature))对应的请求。在实施方式中,从主机接收的逻辑块地址可以是与从主机接收的请求对应的地址。
在S1103中,存储控制器可确定从主机接收的请求是否与编程请求、读请求或擦除请求中的任一个对应。当从主机接收的请求对应于编程请求、读请求或擦除请求中的任一个时,存储控制器进行到操作S1107。当从主机接收的请求不与编程请求、读请求或擦除请求中的任一个对应时,存储控制器进行到操作S1105。
当从主机接收的请求不是编程请求、读请求或擦除请求中的任一个(否)时,存储控制器可通过允许输入地址的五个周期等于现有周期来转换地址。例如,逻辑块地址可被转换为物理块地址,使得在五个周期当中的两个周期期间输入列地址并且在其它的三个周期期间输入行地址(S1105)。
然而,当从主机接收的请求是编程请求、读请求或擦除请求(是)时(例如,当从主机接收的请求是与访问寄存器的操作(例如,状态读操作(Status Read)或者寄存器值设定或读操作(Set/Get Feature))对应的请求时),存储控制器可通过改变输入地址的周期以及列地址寻址的单位来转换地址。
例如,当从主机接收的请求是编程请求、读请求或擦除请求时,存储控制器可将逻辑块地址转换为物理块地址,使得在输入地址的五个周期当中的一个周期期间输入列地址,并且在其它的四个周期期间输入行地址(S1107)。由于要在一个周期期间输入列地址,所以列地址可以按512字节单位寻址。
图12是示出根据本公开的实施方式的由存储器装置执行的操作的图。参照图12,在S1201中,存储器装置可确定从外部控制器接收的地址中所包括的列地址的单位。在实施方式中,当从主机接收的请求是编程请求、读请求或擦除请求中的任一个时,列地址可以按1字节单位寻址。当从主机接收的请求不是编程请求、读请求或擦除请求中的任一个时,列地址按512字节单位寻址。因此,寻址的列地址的单位可彼此区分。
在S1203中,存储器装置可确定转换为物理块地址的地址中所包括的列地址的寻址单位是否为1字节单位。当列地址的寻址单位是1字节单位时,存储器装置进行到操作S1207。当列地址的寻址单位不是1字节单位时(即,当列地址的寻址单位是512字节单位时),存储器装置进行到操作S1205。
在S1205中,存储器装置可生成表示列地址的寻址单位是512字节单位的选择信号。选择信号可为“1”。随后,存储器装置可生成通过将列地址和选择信号“1”组合而获得的列地址信号(S1209)。所生成的列地址信号可表示以512字节单位寻址的列地址,同时指定特定页缓冲器和存储器单元阵列的任一条列线。
在S1207中,存储器装置可生成表示列地址的寻址单位是1字节单位的选择信号。选择信号可为“0”。随后,存储器装置可生成通过将列地址和选择信号“0”组合而获得的列地址信号(S1209)。所生成的列地址信号可表示列地址以1字节单位寻址,同时指定特定页缓冲器和存储器单元阵列的任一条列线。
图13是示出存储控制器1000的实施方式的图,其对应于图1所示的存储控制器。参照图13,存储控制器1000联接到主机和存储器装置,并且被配置为响应于从主机接收的请求而访问存储器装置。例如,存储控制器1000可被配置为控制存储器装置的读操作、编程操作、擦除操作和后台操作。存储控制器1000还可被配置为在存储器装置与主机之间提供接口并且驱动用于控制存储器装置的固件或其它指令。
存储控制器1000可包括处理器1010、存储器缓冲器1020、纠错码(ECC)电路1030、主机接口1040、缓冲器控制电路1050、存储器接口1060和总线1070。
总线1070可被配置为在存储控制器1000的组件之间提供通道。
处理器1010可控制存储控制器1000的总体操作并执行逻辑操作。处理器1010可通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器装置通信。另外,处理器1010可通过缓冲器控制电路1050与存储器缓冲器1020通信。处理器1010可使用存储器缓冲器1020作为工作存储器、高速缓存存储器或缓冲存储器来控制存储装置的操作。
处理器1010可执行闪存转换层(FTL)的功能,例如,可通过FTL将主机所提供的逻辑块地址(LBA)转换为物理块地址(PBA)。FTL可使用映射表来接收LPA以转换为PBA。根据映射单位存在FTL的多个地址映射方法。代表性地址映射方法包括页映射方法、块映射方法和混合映射方法。
在实施方式中,处理器1010可基于从主机(图1所示的300)接收的请求来将逻辑块地址(LBA)转换为物理块地址(PBA)。例如,当从主机(图1所示的300)接收的请求是编程请求、读请求或擦除请求时,处理器1010可以按512字节单位对LBA寻址。例如,包括在PBA中的地址当中的列地址可以按512字节单位寻址。
此外,处理器1010可在输入地址的五个周期当中的仅一个周期期间将列地址输出到存储器装置(图1所示的100),并且可在其它的四个周期期间将行地址输出到存储器装置(图1所示的100)。例如,由于列地址以512字节单位寻址,所以处理器1010可在仅一个周期期间输入列地址。另外,由于用于表示行地址的比特数增加,所以处理器1010可在四个周期期间将经增加的比特数输出到存储器装置(图1所示的100)。
在实施方式中,当从主机(图1所示的300)接收的请求是编程请求、读请求或擦除请求时,处理器1010可生成表示LBA要以512字节单位寻址的命令。例如,处理器1010可生成表示列地址要以512字节单位寻址的新命令(而非与现有编程请求、现有读请求或现有擦除请求对应的命令),并且可将所生成的新命令输出到存储器装置(图1所示的100)。在实施方式中,存储器装置(图1所示的100)可基于命令通过确定寻址单位是1字节单位还是512字节单位来执行与新命令对应的操作。
在实施方式中,处理器1010可被配置为将从主机接收的数据随机化。例如,处理器1010可使用随机化种子将从主机接收的数据随机化。将随机化的数据作为要存储的数据提供给存储器装置以编程在存储器单元阵列中。处理器1010可通过驱动软件或固件来执行随机化和去随机化。
存储器缓冲器1020可用作处理器1010的工作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可存储由处理器1010执行的代码和命令。存储器缓冲器1020可存储由处理器1010处理的数据。存储器缓冲器1020可包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC电路1030可执行ECC操作。例如,ECC电路1030可对要通过存储器接口1060写在存储器装置中的数据执行ECC编码。经ECC编码的数据可通过存储器接口1060被传送到存储器装置。ECC电路1030可对通过存储器接口1060从存储器装置接收的数据执行ECC解码。在示例中,ECC电路1030可作为存储器接口1060的组件包括在存储器接口1060中。
主机接口1040可在处理器1010的控制下与外部主机通信。主机接口1040可例如通过通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插存储器模块(DIMM)、寄存DIMM(RDIMM)和负载减少DIMM(LRDIMM)中的一种或更多种来与主机通信。
缓冲器控制电路1050被配置为在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060被配置为在处理器1010的控制下与存储器装置通信。存储器接口1060可通过一个或更多个通道来与存储器装置通信命令、地址和数据。在示例中,存储控制器1000可不包括存储器缓冲器1020和缓冲器控制电路1050。
在实施方式中,处理器1010可使用代码来控制存储控制器1000的操作。处理器1010可从设置在存储控制器1000中的非易失性存储器装置(例如,只读存储器(ROM))加载代码。在另一示例中,处理器1010可通过存储器接口1060从存储器装置加载代码。
例如,存储控制器1000的总线1070可被划分成控制总线和数据总线。数据总线可被配置为发送存储控制器1000中的数据。控制总线可配置为发送存储控制器1000中的诸如命令和地址的控制信息。数据总线和控制总线可彼此分离,并且可彼此不干扰或影响。数据总线可联接到主机接口1040、缓冲器控制电路1050、ECC电路1030和存储器接口1060。控制总线可联接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图14示出可应用存储装置的任何实施方式的存储卡系统2000的实施方式。参照图14,存储卡系统2000包括存储控制器2100、存储器装置2200和连接器2300。
存储控制器2100联接到存储器装置2200,并且被配置为访问存储器装置2200。例如,存储控制器2100被配置为控制存储器装置2200的读操作、写操作、擦除操作和后台操作。存储控制器2100被配置为在存储器装置2200和主机之间提供接口。存储控制器2100被配置为驱动用于控制存储器装置2200的固件或其它指令。存储器装置2200可与存储器装置100(图1所示的100)相同地实现。
在示例中,存储控制器2100可包括诸如随机存取存储器(RAM)、处理单元、主机接口、存储器接口和纠错器的组件。存储控制器2100可通过连接器2300与外部装置通信。存储控制器2100可根据特定通信协议与外部装置(例如,主机)通信。在示例中,存储控制器2100可通过至少一种通信协议来与外部装置通信。通信协议的示例包括通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强小型磁盘接口(ESDI)、集成驱动电子设备(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和NVMe。
存储器装置2200可被实现为例如非易失性存储器装置。示例包括电可擦除可编程ROM(EEPROM)、NAND闪存、NOR闪存、相变RAM(PRAM)、电阻RAM(ReRAM)、铁电RAM(FRAM)和自旋转移矩磁性RAM(STT-MRAM)。
在实施方式中,存储控制器2100可基于从主机(图1所示的300)接收的请求将逻辑块地址(LBA)转换为物理块地址(PBA)。例如,当从主机(图1所示的300)接收的请求是编程请求、读请求或擦除请求时,存储控制器2100可以按512字节单位对LBA寻址。例如,PBA中的地址当中的列地址可以按512字节单位寻址。
此外,存储控制器2100可在输入地址的五个周期当中的仅一个周期期间将列地址输出到存储器装置2200,并且可在其它的四个周期期间将行地址输出到存储器装置2200。例如,由于列地址以512字节单位寻址,所以存储控制器2100可在仅一个周期期间输入列地址。另外,由于用于表示行地址的比特数增加,所以存储控制器2100可在四个周期期间将经增加的比特数输出到存储器装置2200。
在实施方式中,当从主机(图1所示的300)接收的请求是编程请求、读请求或擦除请求时,存储控制器2100可生成表示LBA要以512字节单位寻址的命令。例如,存储控制器2100可生成表示列地址要以512字节单位寻址的新命令,而非与现有编程请求、现有读请求或现有擦除请求对应的命令,并且将所生成的新命令输出到存储器装置2200。
在实施方式中,存储器装置2200可基于命令通过确定寻址单位是1字节单位还是512字节单位来执行与新命令对应的操作。
存储控制器2100和存储器装置2200可被集成到单个半导体装置中以构成存储卡。例如,存储控制器2100和存储器装置2200可构成存储卡。存储卡的示例包括PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑闪存(CF)卡、智能媒体卡(SM和SMC)、记忆棒、多媒体卡(MMC、RS-MMC、MMCmicro和eMMC)、SD卡(SD、miniSD、microSD和SDHC)和通用闪存(UFS)。
图15示出可应用存储装置的固态驱动器(SSD)系统3000的实施方式。参照图15,SSD系统3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001与主机3100交换信号SIG,并且通过电源连接器3002接收电力PWR。SSD 3200包括SSD控制器3210、多个闪存3221至322n、辅助电源3230和缓冲存储器3240。
在实施方式中,SSD控制器3210可用作存储控制器(图1所示的200)。例如,SSD控制器3210可响应于从主机3100接收的信号SIG而控制多个闪存3221至322n。在示例中,信号SIG可以是基于主机3100和SSD 3200之间的接口的信号。例如,信号SIG可由诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强小型磁盘接口(ESDI)、集成驱动电子设备(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和NVMe的接口中的至少一种定义。
在实施方式中,SSD控制器3210可基于从主机(图1所示的300)接收的请求将逻辑块地址(LBA)转换为物理块地址(PBA)。例如,当从主机(图1所示的300)接收的请求是编程请求、读请求或擦除请求时,SSD控制器3210可以按512字节单位对LBA寻址。例如,包括在PBA中的地址当中的列地址可以按512字节单位寻址。
此外,SSD控制器3210可在输入地址的五个周期当中的仅一个周期期间将列地址输出到多个闪存3221至322n当中的所选闪存,并且可在其它的四个周期期间将行地址输出到多个闪存3221至322n当中的所选闪存。例如,由于列地址以512字节单位寻址,所以SSD控制器3210可在仅一个周期期间输入列地址。另外,由于用于表示行地址的比特数增加,所以SSD控制器3210可在四个周期期间将经增加的比特数输出到多个闪存3221至322n当中的所选闪存。
在实施方式中,当从主机(图1所示的300)接收的请求是编程请求、读请求或擦除请求时,SSD控制器3210可生成表示LBA要以512字节单位寻址的命令。例如,SSD控制器3210可生成表示列地址要以512字节单位寻址的新命令,而非与现有编程请求、现有读请求或现有擦除请求对应的命令。SSD控制器3210可将所生成的新命令输出到多个闪存3221至322n当中的所选闪存。
在实施方式中,多个闪存3221至322n当中的所选闪存可基于命令通过确定寻址单位是1字节单位还是512字节单位来执行与新命令对应的操作。
辅助电源3230通过电源连接器3002联接到主机3100。当来自主机3100的电力供应不顺畅时,辅助电源3230可提供SSD 3200的电力。在示例中,辅助电源3230可位于SSD 3200中,或者可位于SSD 3200外部并且联接到SSD 3200。例如,辅助电源3230可位于主板上,并且可向SSD 3200提供辅助电力。
缓冲存储器3240作为SSD 3200的缓冲存储器操作。例如,缓冲存储器3240可暂时地存储从主机3100接收的数据或者从多个闪存3221至322n接收的数据,或者可暂时地存储闪存3221至322n的元数据(例如,映射表)。缓冲存储器3240可以是易失性存储器。示例包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或者诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图16示出可应用存储装置的用户系统4000的实施方式。参照图16,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可驱动包括在用户系统4000中的组件、操作系统(OS)、用户程序等。在示例中,应用处理器4100可包括用于控制包括在用户系统4000中的组件的控制器、接口、图形引擎等。应用处理器4100可作为系统芯片(SoC)来提供。
在实施方式中,应用处理器4100可基于从主机(图1所示的300)接收的请求将逻辑块地址(LBA)转换为物理块地址(PBA)。例如,当从主机(图1所示的300)接收的请求是编程请求、读请求或擦除请求时,应用处理器4100可以按512字节单位对LBA寻址。例如,包括在PBA中的地址当中的列地址可以按512字节单位寻址。
此外,应用处理器4100可在输入地址的五个周期当中的仅一个周期期间将列地址输出到存储模块4400,并且在其它的四个周期期间将行地址输出到存储模块4400。例如,由于列地址以512字节单位寻址,所以应用处理器4100可在仅一个周期期间输入列地址。另外,由于用于表示行地址的比特数增加,所以应用处理器4100可在四个周期期间将经增加的比特数输出到存储模块4400。
在实施方式中,当从主机(图1所示的300)接收的请求是编程请求、读请求或擦除请求时,应用处理器4100可生成表示LBA要以512字节单位寻址的命令。例如,应用处理器4100可生成表示列地址要以512字节单位寻址的新命令,而非与现有编程请求、现有读请求或现有擦除请求对应的命令,并且将所生成的新命令输出到存储模块4400。
在实施方式中,存储模块4400可基于命令通过确定寻址单位是1字节单位还是512字节单位来执行与新命令对应的操作。
存储器模块4200可作为用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器操作。存储器模块4200的示例包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRM、DDR3 SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性随机存取存储器或者诸如PRAM、ReRAM、MRAM和FRAM的非易失性随机存取存储器。在示例中,应用处理器4100和存储器模块4200可通过基于叠层封装(PoP)进行封装来作为一个半导体封装提供。
网络模块4300可与外部装置通信。在示例中,网络模块4300可支持诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、Wimax、WLAN、UWB、蓝牙和Wi-Fi的无线通信。在示例中,网络模块4300可被包括在应用处理器4100中。
存储模块4400可存储数据。例如,存储模块4400可存储从应用处理器4100接收的数据。另选地,存储模块4400可将存储在其中的数据发送到应用处理器4100。存储模块4400的示例包括诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻RAM(RRAM)、NAND闪存、NOR闪存或具有三维结构的NAND闪存的非易失性半导体存储器装置。在示例中,存储模块4400可作为诸如用户系统4000的存储卡的可移除驱动器或外部驱动器来提供。
在示例中,存储模块4400可包括多个非易失性存储器装置,例如,其可与参照图2和图3描述的存储器装置相同地操作。存储模块4400可与参照图1描述的存储装置50相同地操作。
用户接口4500可包括用于向应用处理器4100输入数据或命令或者向外部装置输出数据的接口。在示例中,用户接口4500可包括例如键盘、键区、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口。用户接口4500可包括例如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器的用户输出接口。
根据上述实施方式中的一个或更多个,用于表示地址的单位改变,以使得包括在存储器装置中的芯片的数量可增加。
尽管参照其特定实施方式示出和描述了本公开,但是本领域技术人员将理解,在不脱离由所附权利要求及其等同物限定的本公开的精神和范围的情况下,可对其进行形式和细节上的各种改变。因此,本公开的范围不应限于上述实施方式,而是应该不仅由所附权利要求而且还由其等同物确定。
在上述实施方式中,可选择性地执行所有步骤,或者可省略部分步骤。在各个实施方式中,这些步骤未必根据所描述的顺序执行,而是可重新布置。本说明书和附图中所公开的实施方式仅是方便理解本公开的示例,本公开不限于此。即,对于本领域技术人员而言应该显而易见的是,可基于本公开的技术范围进行各种修改。这些实施方式可被组合以形成附加实施方式。
此外,已在附图和说明书中描述了本公开的实施方式。尽管这里使用了特定术语,但那些术语仅用于描述本公开的实施方式。因此,本公开不限于上述实施方式,在本公开的精神和范围内可进行许多变化。对于本领域技术人员而言应该显而易见,除了本文所公开的实施方式之外,还可基于本公开的技术范围进行各种修改。
本文公开了示例实施方式,并且尽管采用特定术语,但这些术语仅在一般性和描述性意义上使用和解释,而非为了限制。在一些情况下,对于本领域普通技术人员将显而易见的是,自提交本申请起,除非另外具体地指示,否则结合特定实施方式描述的特征、特性和/或元素可单独地使用或与结合其它实施方式描述的特征、特性和/或元素组合使用。因此,本领域技术人员将理解,在不脱离所附权利要求中阐述的本公开的精神和范围的情况下,可进行各种形式和细节上的改变。
相关申请的交叉引用
本申请要求2020年5月19日提交的韩国专利申请号10-2020-0059801的优先权,其整体通过引用并入本文。
Claims (20)
1.一种存储控制器,该存储控制器包括:
闪存转换层,该闪存转换层被配置为将从主机接收的逻辑块地址转换为物理块地址,其中,该闪存转换层基于从所述主机接收的请求来确定所述物理块地址中的多个地址中的至少一个的寻址单位;以及
命令控制器,该命令控制器被配置为基于所述请求来生成表示所述寻址单位的命令。
2.根据权利要求1所述的存储控制器,其中,当所述请求是编程请求、读请求和擦除请求中的一个时,所述闪存转换层通过改变所述物理块地址中的所述多个地址中的至少一个的寻址单位来将所述逻辑块地址转换为所述物理块地址。
3.根据权利要求2所述的存储控制器,其中,所述闪存转换层通过增加所述物理块地址中的所述多个地址当中的列地址的寻址单位来将所述逻辑块地址转换为所述物理块地址。
4.根据权利要求2所述的存储控制器,其中,所述闪存转换层通过维持所述物理块地址中的所述多个地址当中的行地址的寻址单位来将所述逻辑块地址转换为所述物理块地址。
5.根据权利要求4所述的存储控制器,其中,所述闪存转换层通过增加表示字线的比特数来对所述行地址进行寻址。
6.根据权利要求2所述的存储控制器,其中,所述闪存转换层:
在一个时段期间输出所述物理块地址中的所述多个地址当中的列地址,并且
在四个时段期间输出所述物理块地址中的所述多个地址当中的行地址。
7.根据权利要求1所述的存储控制器,其中,当所述请求是编程请求、读请求和擦除请求中的一个时,所述命令控制器生成表示所述物理块地址中的所述多个地址中的至少一个的寻址单位已改变的命令。
8.一种存储器装置,该存储器装置包括:
输入/输出电路,该输入/输出电路被配置为接收命令和地址;
列解码器,该列解码器被配置为对所述地址中的列地址进行解码;以及
控制逻辑,该控制逻辑被配置为从所述输入/输出电路接收所述命令和所述地址,并且基于所述命令和所述地址来控制所述输入/输出电路和所述列解码器执行操作,其中,所述控制逻辑基于所述命令是否表示所述列地址的寻址单位来生成选择信号。
9.根据权利要求8所述的存储器装置,其中,
当所述命令是编程命令、读命令和擦除命令中的一个时,所述列地址的所述寻址单位是第一单位,并且
当所述命令表示所述列地址以所述第一单位寻址时,所述控制逻辑输出用于控制所述列地址以所述第一单位解码的所述选择信号。
10.根据权利要求9所述的存储器装置,其中,
当所述命令是除所述编程命令、所述读命令和所述擦除命令之外的命令时,所述列地址的所述寻址单位是第二单位,并且
所述第二单位小于所述第一单位。
11.根据权利要求10所述的存储器装置,其中,当所述命令表示所述列地址以所述第二单位寻址时,所述控制逻辑输出所述选择信号以控制所述列地址以所述第二单位解码。
12.根据权利要求11所述的存储器装置,其中,所述列解码器基于所述选择信号来对所述列地址进行解码,并且输出指示所述列地址是所述第一单位或所述第二单位的列地址的列地址信号。
13.一种存储装置,该存储装置包括:
存储器装置,以及
存储控制器,该存储控制器被配置为控制所述存储器装置,
其中,所述存储控制器将从主机接收的逻辑块地址转换为物理块地址并将所述物理块地址输出到所述存储器装置,其中,所述存储控制器基于来自所述主机的请求来确定所述物理块地址中的多个地址中的至少一个的寻址单位,并且生成表示所述寻址单位的命令,并且其中,所述存储器装置基于所述命令是否表示所述物理块地址中的所述多个地址中的至少一个的寻址单位来生成选择信号。
14.根据权利要求13所述的存储装置,其中,当所述请求是编程请求、读请求和擦除请求中的一个时,所述存储控制器通过改变所述物理块地址中的所述多个地址中的至少一个的寻址单位来将所述逻辑块地址转换为所述物理块地址。
15.根据权利要求14所述的存储装置,其中,所述存储控制器通过增加所述物理块地址中的所述多个地址当中的列地址的寻址单位来将所述逻辑块地址转换为所述物理块地址。
16.根据权利要求14所述的存储装置,其中,所述存储控制器通过维持所述物理块地址中的所述多个地址当中的行地址的寻址单位来将所述逻辑块地址转换为所述物理块地址。
17.根据权利要求16所述的存储装置,其中,所述存储控制器通过增加表示字线的比特数来对所述行地址进行寻址。
18.根据权利要求14所述的存储装置,其中,所述存储控制器在一个时段期间将所述物理块地址中的所述多个地址当中的列地址输出到所述存储器装置,并且在四个时段期间将所述物理块地址中的所述多个地址当中的行地址输出到所述存储器装置。
19.根据权利要求13所述的存储装置,其中,
当所述命令是编程命令、读命令和擦除命令中的一个时,所述物理块地址中的所述多个地址当中的列地址的寻址单位是第一单位,并且
当所述命令表示所述列地址以所述第一单位寻址时,所述选择信号是设定值。
20.根据权利要求19所述的存储装置,其中,
当所述命令是状态读命令、寄存器设定命令和寄存器读命令中的一个时,所述列地址的所述寻址单位是第二单位,并且
所述第二单位小于所述第一单位。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0059801 | 2020-05-19 | ||
KR1020200059801A KR20210142974A (ko) | 2020-05-19 | 2020-05-19 | 저장 장치 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113687767A true CN113687767A (zh) | 2021-11-23 |
Family
ID=78576210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110183623.7A Pending CN113687767A (zh) | 2020-05-19 | 2021-02-10 | 存储控制器、存储器装置和存储装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11687450B2 (zh) |
KR (1) | KR20210142974A (zh) |
CN (1) | CN113687767A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11599377B2 (en) * | 2020-08-17 | 2023-03-07 | Alibaba Group Holding Limited | Open-channel storage device management with FTL on virtual machine |
US11487446B2 (en) * | 2020-12-03 | 2022-11-01 | Western Digital Technologies, Inc. | Overhead reduction in data transfer protocol for NAND memory |
US11586384B2 (en) | 2021-02-16 | 2023-02-21 | Western Digital Technologies, Inc. | Overhead reduction in data transfer protocol for data storage devices |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101097543A (zh) * | 2006-06-30 | 2008-01-02 | 株式会社东芝 | 具备非易失性半导体存储器的存储器系统 |
US20100328330A1 (en) * | 2008-03-18 | 2010-12-30 | Fujitsu Limited | Memory controller and memory system using the same |
CN104885062A (zh) * | 2012-12-10 | 2015-09-02 | 谷歌公司 | 使用逻辑到物理映射以与数据存储装置进行直接用户空间通信 |
US20150339057A1 (en) * | 2014-05-20 | 2015-11-26 | In-Hwan Choi | Nonvolatile memory system and operation method of a memory controller |
CN109753455A (zh) * | 2017-11-08 | 2019-05-14 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
US20190205257A1 (en) * | 2018-01-02 | 2019-07-04 | SK Hynix Inc. | Memory system and operating method thereof |
US20190318786A1 (en) * | 2018-04-17 | 2019-10-17 | SK Hynix Inc. | Storage device and method of operating the same |
CN110647475A (zh) * | 2018-06-26 | 2020-01-03 | 三星电子株式会社 | 存储装置和包括存储装置的存储系统 |
CN110837342A (zh) * | 2018-08-17 | 2020-02-25 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7457154B2 (en) * | 2004-03-15 | 2008-11-25 | Applied Intellectual Properties Co., Ltd. | High density memory array system |
US7668040B2 (en) * | 2006-12-22 | 2010-02-23 | Fujitsu Microelectronics Limited | Memory device, memory controller and memory system |
KR20100021868A (ko) * | 2008-08-18 | 2010-02-26 | 삼성전자주식회사 | 플래시 메모리 장치를 위한 버퍼 캐쉬 관리 방법 |
KR101602939B1 (ko) * | 2009-10-16 | 2016-03-15 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법 |
US8732431B2 (en) * | 2011-03-06 | 2014-05-20 | Micron Technology, Inc. | Logical address translation |
KR101400506B1 (ko) | 2012-07-13 | 2014-05-27 | 주식회사 이에프텍 | 비휘발성 메모리 제어기 및 그 제어 방법 |
US9213633B2 (en) * | 2013-04-30 | 2015-12-15 | Seagate Technology Llc | Flash translation layer with lower write amplification |
KR102077149B1 (ko) * | 2013-06-17 | 2020-02-13 | 삼성전자 주식회사 | 메모리 관리 방법 및 장치 |
US20160196076A1 (en) * | 2013-07-08 | 2016-07-07 | Wilus Institute Of Standards And Technology Inc. | Memory system and method for controlling same |
US9477549B2 (en) * | 2014-09-15 | 2016-10-25 | Sandisk Technologies Llc | Methods, systems, and computer readable media for address and data integrity checking in flash memory operations |
US9542269B1 (en) * | 2015-06-29 | 2017-01-10 | SK Hynix Inc. | Controller controlling semiconductor memory device and operating method thereof |
KR101805828B1 (ko) | 2016-03-21 | 2017-12-07 | 주식회사 디에이아이오 | 스토리지 시스템의 주소 변환 방법 및 스토리지 시스템의 메모리 장치 컨트롤러 |
US20180173419A1 (en) * | 2016-12-21 | 2018-06-21 | Western Digital Technologies, Inc. | Hybrid ssd with delta encoding |
TWI692721B (zh) * | 2018-11-02 | 2020-05-01 | 大陸商深圳大心電子科技有限公司 | 指令處理方法及使用所述方法的儲存控制器 |
-
2020
- 2020-05-19 KR KR1020200059801A patent/KR20210142974A/ko unknown
- 2020-10-01 US US17/060,157 patent/US11687450B2/en active Active
-
2021
- 2021-02-10 CN CN202110183623.7A patent/CN113687767A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101097543A (zh) * | 2006-06-30 | 2008-01-02 | 株式会社东芝 | 具备非易失性半导体存储器的存储器系统 |
US20100328330A1 (en) * | 2008-03-18 | 2010-12-30 | Fujitsu Limited | Memory controller and memory system using the same |
CN104885062A (zh) * | 2012-12-10 | 2015-09-02 | 谷歌公司 | 使用逻辑到物理映射以与数据存储装置进行直接用户空间通信 |
US20150339057A1 (en) * | 2014-05-20 | 2015-11-26 | In-Hwan Choi | Nonvolatile memory system and operation method of a memory controller |
CN109753455A (zh) * | 2017-11-08 | 2019-05-14 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
US20190205257A1 (en) * | 2018-01-02 | 2019-07-04 | SK Hynix Inc. | Memory system and operating method thereof |
CN109992537A (zh) * | 2018-01-02 | 2019-07-09 | 爱思开海力士有限公司 | 存储系统及其操作方法 |
US20190318786A1 (en) * | 2018-04-17 | 2019-10-17 | SK Hynix Inc. | Storage device and method of operating the same |
CN110647475A (zh) * | 2018-06-26 | 2020-01-03 | 三星电子株式会社 | 存储装置和包括存储装置的存储系统 |
CN110837342A (zh) * | 2018-08-17 | 2020-02-25 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210365369A1 (en) | 2021-11-25 |
KR20210142974A (ko) | 2021-11-26 |
US11687450B2 (en) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11449417B2 (en) | Memory controller performing host-aware performance booster mode and method of operating the same | |
CN111177020B (zh) | 存储装置及其操作方法 | |
US11687450B2 (en) | Storage device for translating address and operating method thereof | |
US11481272B2 (en) | Memory controller and method of operating the same | |
KR20190131901A (ko) | 저장 장치 및 그 동작 방법 | |
KR20210142981A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
KR20210090439A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
CN114860622A (zh) | 存储装置及操作存储装置的方法 | |
US11978519B2 (en) | Storage device and operating method thereof | |
CN112309446A (zh) | 存储设备和操作存储设备的方法 | |
US11625324B2 (en) | Storage device for moving valid data to an open memory block based on a valid page list and operating method thereof | |
US11294596B2 (en) | Memory controller and operating method thereof | |
CN114724609A (zh) | 存储器设备和操作存储器设备的方法 | |
KR102556276B1 (ko) | 저장 장치 및 그 동작 방법 | |
KR20220120016A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
KR20220053973A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
KR20210111120A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
US11210223B2 (en) | Storage device and operating method thereof | |
US11500768B2 (en) | Storage device performing garbage collection and method of operating the same | |
US20230238040A1 (en) | Storage device and operating method thereof | |
US20230041076A1 (en) | Memory system and operating method thereof | |
KR102675307B1 (ko) | 저장 장치 및 그 동작 방법 | |
KR20220120019A (ko) | 메모리 장치 및 그 동작 방법 | |
KR20230168908A (ko) | 컴퓨팅 시스템 및 그 동작 방법 | |
KR20220053981A (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 |