CN113296688B - 非易失性存储器裸片接口的数据传送速度的动态调整 - Google Patents
非易失性存储器裸片接口的数据传送速度的动态调整 Download PDFInfo
- Publication number
- CN113296688B CN113296688B CN202010558014.0A CN202010558014A CN113296688B CN 113296688 B CN113296688 B CN 113296688B CN 202010558014 A CN202010558014 A CN 202010558014A CN 113296688 B CN113296688 B CN 113296688B
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- data transfer
- level
- interface
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 684
- 238000012546 transfer Methods 0.000 title claims abstract description 203
- 230000004044 response Effects 0.000 claims abstract description 19
- 210000004027 cell Anatomy 0.000 claims description 274
- 238000012360 testing method Methods 0.000 claims description 33
- 238000000034 method Methods 0.000 claims description 26
- 238000012937 correction Methods 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 8
- 230000009977 dual effect Effects 0.000 claims description 8
- 210000000352 storage cell Anatomy 0.000 claims description 6
- 238000001816 cooling Methods 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000007704 transition Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000001465 metallisation Methods 0.000 description 2
- 230000010355 oscillation Effects 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- JWZQBEUBJXSDPP-UHFFFAOYSA-N 5-cyclohexyl-6-methylpyrimidine-2,4-diamine Chemical compound CC1=NC(N)=NC(N)=C1C1CCCCC1 JWZQBEUBJXSDPP-UHFFFAOYSA-N 0.000 description 1
- 101100072002 Arabidopsis thaliana ICME gene Proteins 0.000 description 1
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N Silicium dioxide Chemical compound O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000002826 coolant Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000002070 nanowire Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000206 photolithography Methods 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000006903 response to temperature Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 229910052814 silicon oxide Inorganic materials 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/20—Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/20—Initialising; Data preset; Chip identification
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/022—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/023—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/46—Test trigger logic
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50012—Marginal testing, e.g. race, voltage or current testing of timing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1045—Read-write mode select circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0407—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals on power on
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种电路,其配置成动态地调整用于非易失性存储器裸片接口的数据传送速度。所述电路包含初始化电路、控制电路、开关电路以及读写电路。所述初始化电路配置成加载多层级单元设置,所述设置针对配置成每存储单元存储多于一个位的存储单元配置用于数据传送的存储器接口。所述控制电路配置成接收参考存储器裸片的单层级存储单元的读取命令。所述开关电路配置成响应于接收到所述读取命令,将所述存储器接口的设置从所述多层级单元设置切换到单层级单元设置。所述读写电路配置成使用所述单层级单元设置从所述存储器裸片读取用于所述读取命令的数据。
Description
背景技术
例如快闪存储器的非易失性存储器系统已广泛用于商业和消费型产品中。可找到呈不同形式的快闪存储器,例如呈可在主机装置之间携载的便携式存储卡的形式或作为嵌入于主机装置中的固态磁盘(SSD)。业界不断地要求例如NAND快闪的SSD装置具有较大的存储容量和较快的存储器访问速度。
为增大存储容量,许多NAND快闪装置实施每存储单元能够存储多个数据位,而非单个二进制数据位(即,单层级存储单元或“SLC”)的存储单元结构(即,多层级存储单元或“MLC”)。“存储单元”指代配置成在感测、读取或检测存储介质以确定由存储器单元的可确定特性存储或表示的二进制值时,借助于存储介质的可确定特性来表示一个或多个二进制值的一种类型的存储介质。存储单元和存储器单元在本文中可互换地使用。
用于将数据存储在存储器单元中的可确定特性的类型可取决于使用的存储器或存储技术的类型而变化。例如,在其中每一存储器单元包括具有源极引线、漏极引线以及栅极的晶体管的快闪存储器单元中,可确定特性为在施加于栅极时使存储器单元在漏极引线与源极引线之间传导电流的电压电平。在此实例中,电压电平在本文中称为阈值电压。阈值电压也可称为控制栅极参考电压(CGRV)、读取电压或参考电压。
可确定物理特性的实例包含但不限于晶体管的阈值电压、存储器单元的电阻电平、通过存储器单元的电流电平、磁极定向、自旋转移力矩等。
“阈值”指代高于其条件为真或将发生且低于其条件不为真或将不发生的电平、点、量值、强度或值。(在Merriam-Webster.com上搜索“阈值”。Merriam-Webster,2019年。网页。2019年11月14日编辑。)
各种存储单元容量可能会引起多种访问速度考虑因素。随着NAND快闪SLC编程速度的改进,程序性能的相对开销可能会受到NAND快闪与系统控制器之间的数据传送速度的影响。对NAND快闪存储器中的一组存储单元的单个编程操作相比用于同一组存储单元的读取操作通常可能耗时较长。通过读取操作比编程操作更为常见这一事实,可跨越典型存储操作平衡此通常较高的程序延迟。换句话说,写入数据可能比读取相同的数据花费较多的时间,但某些数据可能需要写入一次,且随后再读取多次。
“存储操作”指代为变化或获得由存储器单元的状态特性表示的数据值而在存储器单元上执行的操作。存储操作的实例包含(但不限于)从存储器单元读取数据(或感测存储器单元的状态)、将数据写入(或编程)到存储器单元,和/或将存储于存储器单元中的数据擦除。
程序性能开销可指读取操作相对于编程操作所花费的时间百分比。例如,在数据传送速度/速率为533MB/s的切换模式(TM)NAND快闪接口处,从SLC存储器读取32KB数据可能花费约58us,而32KB的SLC编程时间可为约100us,从而因此产生了约58%的开销。
MLC存储器编程时间相比SLC存储器编程通常可花费较长时间,这是由于前面提到的理解——数据写入可能会花费相对较长的时间,再加上数据可能会被两次、三次、四次或较多次写入到相同数目的存储单元的事实。然而,SLC与MLC存储器结构之间的读取时间差异可能极小。因此,MLC存储器的传送时间开销可能比SLC存储器低得多,因为特定量数据的传送或读取时间可能占编程或写入时间的甚至较小百分比。
例如,在TM=533MB/s时,96KB数据的TLC编程可为约1600us,但TLC传送可能以与SLC类似的速率发生,例如对于96KB的数据约为174us。接着,在此实例中,TLC的开销约为11%,而对于QLC,差异甚至可能更大,QLC的典型开销可能为2.3%。因此,为了改进采用SLC存储器结构的NAND快闪系统中的性能,需要降低SLC存储操作的开销。
发明内容
本发明涉及一种配置成动态地调整用于非易失性存储器裸片接口的数据传送速度的电路。电路包括初始化电路、控制电路、开关电路以及读写电路。初始化电路配置成加载多层级单元设置,以针对配置成每存储单元存储多于一个位的存储单元(单层级存储单元)配置用于数据传送的存储器接口。控制电路配置成接收参考存储器裸片的一组单层级存储单元的第一读取命令。开关电路配置成响应于接收到第一读取命令,将存储器接口的设置从多层级单元设置切换到单层级单元设置。读写电路配置成使用单层级单元设置从存储器裸片读取用于第一读取命令的数据。
本发明进一步涉及一种用于动态地调整用于非易失性存储器裸片接口的数据传送速度的方法。接收参考存储器裸片的单层级存储单元的第一读取命令。接着将存储器裸片的存储器接口的数据传送速度设置成将存储器接口用于从单层级存储单元进行数据传送的第一数据传送速度。最后,使用第一数据传送速度来经由存储器接口从单层级存储单元传送数据。
本发明涉及一种配置成动态地调整用于非易失性存储器裸片接口的数据传送速度的系统。系统包括存储控制器和存储器裸片的裸片控制器。存储控制器包含驱动器、计时电路以及信号完整性电路。驱动器耦合到存储器接口的数据总线和选通线。
驱动器用以调整数据总线和选通线的数据传送速度。驱动器的特征在于多个数据传送速度,每一数据传送速度呈现不同的信号完整性。
计时电路通过延迟由选通线传达的选通信号的传输来降低数据传送速度。计时电路的特征在于一组接口时钟速度。
信号完整性电路配置成针对特定数据传送速度确定存储器接口的信号完整性。存储器裸片的裸片控制器经由数据总线和选通线耦合到存储控制器。
存储控制器配置成经由数据总线以数据传送速度将测试数据写入到存储器裸片中的一组多层级存储单元。存储控制器还配置成经由数据总线以所述数据传送速度从多层级存储单元读取测试数据。
存储控制器接着指示驱动器将数据传送速度变为多个数据传送速度中的一个,且在每一数据传送速度下,以数据传送速度中的每一个从多层级存储单元写入和读取测试数据。对于多个数据传送速度中的每一个,存储控制器确定写入和读取测试数据的信号完整性。接着,存储控制器确定用于涉及多层级存储单元的存储操作的多层级存储单元数据传送速度,使得信号完整性满足多层级错误校正阈值。
存储控制器还配置成经由数据总线以数据传送速度将测试数据写入到存储器裸片中的一组单层级存储单元。存储控制器还配置成经由数据总线以所述数据传送速度从单层级存储单元读取测试数据。
存储控制器接着指示驱动器将数据传送速度变为多个数据传送速度中的一个,且在每一数据传送速度下,以数据传送速度中的每一个从单层级存储单元写入和读取测试数据。对于多个数据传送速度中的每一个,存储控制器确定写入和读取测试数据的信号完整性。接着,存储控制器确定用于涉及单层级存储单元的存储操作的单层级存储单元数据传送速度,使得信号完整性满足单层级错误校正阈值。
存储控制器进一步包括读写电路。读写电路配置成使用单层级存储单元数据传送速度服务针对单层级存储单元的存储操作,且使用多层级存储单元数据传送速度服务针对多层级存储单元的存储操作。
附图说明
为了容易地识别对任何特定元件或动作的论述,附图标记中的一个或多个最高有效数字指代首次介绍所述元件的图号。
图1为可实施本文中所描述的系统和方法的存储器系统100的示例性框图。
图2为实施方法以改进可在存储器系统中存储数据的速率的示例存储器系统200的框图。
图3示出根据一个实施例的数据传送速度300的属性。
图4为实施方法以改进可在存储器系统中存储数据的速率的示例存储器系统400的框图。
图5为包括可使用本文中所公开的若干操作模式交换信息的存储控制器和裸片控制器的示例性存储器系统500的框图。
图6为包括可使用本文中所公开的若干操作模式交换信息的存储控制器和裸片控制器的示例性存储器系统600的框图。
图7为可执行切换模式写入调谐的示例性方法的流程图700。
图8为可执行切换模式写入调谐的示例性方法的流程图800。
具体实施方式
NAND快闪系统的NAND数据切换模式(TM)速度可由多个因素确定,所述因素包含系统温度、路由、输入/输出占空比不平衡以及传送的信号完整性。此信号完整性受到输入/输出信号的“开眼(eye-open)”窗口的限制,且可对此窗口进行具体调谐。随着SLC技术的进步,与MLC/TLC/QLC技术相比,SLC存储器通常具有较好的读取余量,且因此对数据误码率(BER)的容忍度较高。本文中公开一种电路、方法以及系统,其利用以下事实:针对SLC数据传送调谐的较快TM设置可用于降低SLC存储操作开销,而针对MLC/TLC/QLC设置的正常TM设置可在存储操作开销较小的情况下以较慢速度操作,以改进信号完整性。
“误码率”指代所处理的总位数中的错误位数的度量。在某些实施例中,在错误校正码(ECC)解码器已作出一个或多个尝试以校正一个或多个错误位之后计算误码率。
图1中描绘存储器系统100,其适于实施基于所访问的存储单元类型变化存储器裸片接口的电路、方法、设备以及系统。图1的主机102将数据存储到存储器装置104中且从所述存储器装置检索数据。
主机102可为配置成发送和接收存储命令的任何计算装置或计算机装置或计算机系统。主机102的实例包含(但不限于)计算机、膝上型计算机、移动装置、家用电器、虚拟机、企业服务器、台式计算机、平板计算机、主框架等。在操作中,当主机102装置需要从存储器装置104读取数据或将数据写入到存储器装置时,主机102可与存储控制器120通信。
存储器装置104可嵌入于主机102内,例如呈安装于企业服务器或个人计算机中的固态磁盘(SSD)驱动器的形式。在一个实施例中,存储器装置104可通过为机械和电连接器的连接器106和连接器108可拆卸地连接到主机102,如图1中所示。连接器106和连接器108可允许存储控制器120通过在连接器的存储器侧上的主机接口管理器122(HIM)和在连接器的主机侧上的主机接口管理器112与主机102通信。配置成用作内部或嵌入式SSD驱动器的存储器装置104可呈为用于旋转磁碟驱动器的插入式替代物的离散模块的形式。如所描述,快闪存储器可指使用存储电子电荷的非AND(NAND)存储单元。
可使用SSD、存储卡以及快闪驱动器的主机系统多种多样。所述系统包含例如台式或膝上型以及其它便携式计算机的个人计算机(PC)、平板计算机、蜂窝式电话、智能电话、个人数字助理(PDA)、数字静态照相机、数字电影照相机,以及便携式媒体播放器。对于便携式存储卡应用,主机可包含用于一种或多种类型的存储卡或快闪驱动器的内置式插座,或主机可包含存储卡插入到其中的适配器。存储器系统可包含其自身的存储控制器和驱动器,但还可存在替代地由存储器连接到的主机执行的软件控制的一些仅存储器系统。
在包含存储控制器的一些存储器系统,尤其为嵌入于主机内的那些存储器系统中,存储器存储控制器和驱动器可形成于单个集成电路芯片上。主机可使用任何通信协议与存储卡通信,所述协议例如(但不限于)安全数字(SD)协议、记忆棒(MS)协议以及通用串行总线(USB)协议。
就考虑存储器装置104来说,图1的主机102可被视为具有由电路系统和软件的组合构成的两个主要部分。应用程序110部分可通过主机文件系统116和主机接口管理器112与存储器装置104介接。在一个实施例中,存储控制器120可包含对应主机接口管理器122。在例如PC中,应用程序110部分可包含用于运行文字处理、图形、控制或其它常用应用程序软件的中央处理单元(中央处理单元(CPU)114)。在照相机、主要致力于执行单组功能的蜂窝式电话中,应用程序110部分可以硬件来实施,所述硬件用于运行操作照相机以拍摄和存储图片的软件,用于运行蜂窝式电话以拨打和接听电话等。
图1的存储器装置104可包含非易失性存储器118和存储控制器120,所述控制器与存储器装置104连接到的主机102介接以用于来回传递数据且控制非易失性存储器118。存储控制器120可与主机102装置介接,并将用于读取、编程以及擦除操作的命令序列传输到非易失性存储器118。命令可包含逻辑和/或物理地址。
“存储控制器”指代配置成管理非易失性存储器介质上的数据操作的任何硬件、装置、组件、元件或电路,且可包括一个或多个处理器、可编程处理器(例如,FPGA)、ASIC、微控制器等。在一些实施例中,存储控制器配置成将数据存储在非易失性存储器介质上和/或从非易失性存储器介质读取数据,以向/从非易失性存储器装置等等传送数据。
存储控制器120可呈处理电路系统、微处理器或处理器以及计算机可读介质的形式,所述计算机可读介质存储可由例如(微)处理器、逻辑门、开关、专用集成电路(ASIC)、可编程逻辑控制器以及嵌入式微控制器执行的计算机可读程序代码(例如,软件或固件)。存储控制器120可包含能够经由快闪接口管理器(FIM)——快闪接口管理器126通信的多线程处理器,所述快闪接口管理器具有用于非易失性存储器118中的每一存储器组的I/O端口。在示例性实施例中,存储控制器120可被实施为专用集成电路(ASIC)。
存储控制器120可配置有硬件和/或固件以执行下文所描述和流程图中所示出的各种功能。此外,示出为在控制器内部的一些组件也可定位于控制器外部,且可使用其它组件。另外,短语“操作性地与……通信”可意指与……直接通信,或通过本文中可或可未示出或描述的一个或多个组件与……间接(有线或无线)通信。
存储控制器120可经由存储器接口128与非易失性存储器118的控制器(未示出)通信。存储器接口128可包含数据总线130和控制总线132。“存储器接口”指代存储器裸片与存储控制器之间的接口。可结合所公开解决方案使用的存储器接口的实例包含切换模式(“TM”)、切换式NAND 2.0、开放式NAND快闪接口(ONFI)NAND等。
“存储器裸片”指代上面制造有给定功能电路的一小块半导性材料。通常,通过例如光刻的过程在电子级硅(EGS)或其它半导体(例如GaAs)的单个晶片上大批地生产集成电路。将晶片切割(分割)成许多片,每一片包含电路的一个副本。这些片中的每一个称为裸片。(在Wikipedia.com上搜索裸片(集成电路),2019年10月9日。2019年11月18日访问。)在一个实施例中,存储器裸片为包含用于操作为非易失性存储器介质和/或非易失性存储器阵列的功能电路的裸片。
“数据总线”指代用于在两个电子电路、组件、芯片、裸片和/或系统之间交换数据位中的一个或多个的通信总线。数据总线可包含一条或多条信号线。例如控制器的发送器可经由数据总线的一条或多条控制线并行或串行地发送数据信号。示例数据总线可包含具有8条控制线(如果其仅携载数据信号,则也被称为数据线)的8位总线、具有16条控制线的16位总线、具有32条控制线的32位总线、具有64条控制线的64位总线等。
在一个实施例中,例如存储器裸片的多个组件可共享单个数据总线。当多个芯片或存储器裸片共享数据总线时,可由单个存储器裸片或由所有存储器裸片基于芯片启用控制线上的信号并行地访问或传送所述数据。
数据总线可根据行业标准或基于私有协议和设计进行操作和配置。数据总线的多条控制线可并行使用,且可根据计时信号、数据选通信号(“DQS”)或时钟(例如选通信号)将数据锁存到目的地组件的锁存器中。
“控制总线”指代用于在两个电子电路、组件、芯片、裸片和/或系统之间交换数据、地址信息、控制信号、时钟信号等中的一个或多个的通信总线。通常,控制总线将控制信号发送到一个或多个存储器裸片以管理存储器裸片上的操作。
在某些实施例中,控制总线发送控制信号,例如写入启用(“WE”或“WE#”)、芯片启用(“CE”或“CE#”)、读取启用(“RE”或“Re”)、时钟信号、选通信号(“DQS”)、命令锁存启用(“CLE”)、地址锁存启用(“ALE”)、呈操作代码(“OP”代码)形式的存储操作命令,以及用于通信存储操作的寻址信息。在某些实施例中,控制总线可不传送与存储操作相关的数据,例如写入数据或读取数据。替代地,可经由数据总线传送写入数据和读取数据。
存储控制器120与非易失性存储器118之间的存储器接口128可为任何合适的快闪接口,例如切换模式。在一个实施例中,存储器系统100可为基于卡的系统,例如安全数字(SDTM)或微安全数字(微SDTM)卡。在替代实施例中,存储器系统100可为嵌入式存储器装置的部分。
非易失性存储器118可为配置成在去除主电源之后,维持用于表示零或一的二进制值的可改变物理特性的任何硬件、装置、组件、元件或电路。可改变物理特性的实例包含(但不限于)晶体管的阈值电压、存储器单元的电阻电平、通过存储器单元的电流电平、磁极定向、自旋转移力矩等。
可改变物理特性使得一旦设置,物理特性就保持充分固定,使得当用于非易失性存储器118的主电源不可用时,可在读取、检索或感测二进制值时测量、检测或感测可改变物理特性。换句话说,非易失性存储器118为配置成使得在用于非易失性存储器118的电源被去除且接着被恢复之后,可检索存储在非易失性存储器118上的数据的存储介质。非易失性存储器118可包括一个或多个非易失性存储器元件,所述元件可包含(但不限于):芯片、封装、平面、裸片等。
“存储介质”指代组织且配置成存储一个或多个数据位的任何物理介质。在一个实施例中,存储介质指代物理存储单元和/或易失性存储器介质中使用的存储器单元。在另一实施例中,存储介质指代物理存储单元和/或非易失性存储器介质中使用的存储器单元。
非易失性存储器118的实例包含(但不限于):ReRAM、忆阻器存储器、可编程金属化单元存储器、相变存储器(PCM、PCME、PRAM、PCRAM、双向通用存储器、硫属化物RAM或C-RAM)、NAND快闪存储器(例如,2D NAND快闪存储器、3D NAND快闪存储器)、NOR快闪存储器、纳米随机存取存储器(纳米RAM或NRAM)、基于纳米晶线的存储器、基于硅-氧化物的低于10纳米处理存储器、石墨烯存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)、可编程金属化单元(PMC)、导电桥接RAM(CBRAM)、磁阻性RAM(MRAM)、磁性存储介质(例如,硬盘、磁带)、光学存储介质等。
虽然非易失性存储器118在本文中可被称为“存储器介质”,但在各种实施例中,非易失性存储器118可更一般地称为非易失性存储器。因为非易失性存储器118能够在去除电源时存储数据,所以非易失性存储器118还可被称为记录介质、非易失性记录介质、存储介质、存储装置、非易失性存储器、易失性存储器介质、非易失性存储器介质、非易失性存储装置等。
在某些实施例中,可在块层级处寻址存储于非易失性存储器118中的数据,这意指将非易失性存储器118中的数据组织成各自具有唯一逻辑地址(例如,LBA)的数据块。在其它实施例中,可在字节层级处寻址存储于非易失性存储器118中的数据,这意指将非易失性存储器118中的数据组织成各自具有唯一地址(例如逻辑地址)的数据字节(8位)。字节可寻址非易失性存储器118的一个实例为存储类存储器(SCM)。存储器系统100内的非易失性存储器118可包括单层级存储单元(SLC)、多层级存储单元(MLC)或两者的组合。
“单层级存储单元”指代配置成存储表示数据值的单个二进制位的存储单元。单层级存储单元可使用术语“SLC”来简称。“多层级存储单元”指代配置成存储各自表示不同数据值的两个或更多个二进制位的存储单元。多层级存储单元可使用术语“MLC”来简称。在某些实施例中,MLC存储两个二进制位。在另一实施例中,MLC可指存储三个或大于三个二进制位的存储单元。
在再其它实施例中,其它术语可用于区分一组MLC存储单元与另一组MLC存储单元。在此类实施例中,出于行业惯例,MLC存储单元具体可指每存储单元存储两个二进制位的存储单元。在此类实施例中,每存储单元存储三个二进制位的存储单元可被识别为用于三个或三级层级的三层级单元存储单元或TLC。每存储单元存储四个二进制位的存储单元可被识别为用于四个或四级层级的四层级单元存储单元或QLC。每存储单元存储五个二进制位的存储单元可被识别为用于五个或五级层级的五层级单元存储单元或PLC。类似的命名规则可用于每存储单元存储六个或更多个二进制位的存储单元。
图2为示例性存储器系统200的框图。在此实施例中,存储器系统200包括存储控制器120和存储器裸片202。在实施例中,存储器裸片202可包括一起充当图1的非易失性存储器118的多个存储器裸片中的一个。存储控制器120和存储器裸片202可由包括数据总线130和控制总线132的存储器接口128耦合。所属领域的技术人员将认识到,虽然图2示出连接单个存储控制器120与单个存储器裸片的存储器接口128,但某些实施例可包含经由单个共享存储器接口128耦合到存储控制器120的多个存储器裸片202。借助于实例而非限制,描述经由并行字节宽数据总线的数据通信。涵盖其它总线宽度。
存储控制器120可利用切换模式接口通信协议,以经由存储器接口128从非易失性存储器118读取数据并将数据写入到所述非易失性存储器。在一个实施例中,可经由数据总线130传送用户数据和命令以及地址数据。控制总线132可用于激活或去激活某些存储器裸片或芯片,并传信数据总线130上正发送的数据为何类型,和/或提供例如选通信号的时钟信号,以管理数据总线130和控制总线132中的一个或两个上的数据传送。在一个实施例中,由存储控制器120生成的存储操作可经由数据总线130传达到存储器裸片202。存储操作可包含将数据写入到存储器裸片202的写入命令、从存储器裸片202读取数据的读取命令,和/或控制存储器裸片202和/或存储器接口128的操作的维持命令。
借助于实例而非限制,在一个实施例中,存储控制器120包含处理器204、RAM 206、ROM 208、驱动器210以及调谐器212。处理器204可包括微处理器、微控制器、专用集成电路(ASIC)、现场可编程门阵列、逻辑数字电路、或其它目前已知或稍后研发的逻辑处理能力。在实施例中,存储控制器120可对应于图5的存储控制器120。
RAM 206可存储或缓冲穿过存储控制器120的数据。另外和/或替代地,RAM 206可存储由存储控制器120所使用以完成存储操作的其它数据。
ROM 208可存储处理器204可执行以控制存储器系统200的操作的软件指令。在实施例中,ROM 208也可存储对应于执行存储控制器120与存储器裸片202之间的接口的读取和写入调谐的软件指令。在实施例中,ROM 208还可包含当由处理器204执行时,执行逻辑上归于主机接口管理器112(HIM)、控制器固件124以及快闪接口管理器126的功能性的指令。
驱动器210以适当序列和适当时序在数据总线130和/或控制总线132上提供电压和/或电流,以根据存储器接口128将数据输送到存储器裸片202。“驱动器”指代配置、编程、设计、布置或工程设计成向另一电路、子电路、电子组件、逻辑、装置或设备供应呈模拟或数字波形的电压的电路、子电路、电子组件、硬件、软件、固件、模块、逻辑、装置或设备。驱动器210可以预定义电平/量值向另一电路或组件供应电流。常常,在本文中也被称为“驱动器电路”的单个驱动器配置成基于来自存储控制器120的指令以多个预定义电平或量值中的一个供应电压和/或电流。
调谐器212可配置成使用默认数据传送速度228来经由存储器接口128进行通信。“调谐器”指代配置成以改进一组逻辑、电路、软件、硬件、固件、系统、子系统、装置、设备或逻辑单元、组件、装置或组件的性能、准确性和/或操作的方式调整设置、特性、参数、属性等的硬件、装置、组件、元件、电路系统、逻辑或电路。“数据传送速度”指代在源与目的地之间传送数据的速率相对于时间单位(通常为秒或秒的部分)的度量。数据传送速度可依据例如数据总线的通信接口的时钟信号(例如选通信号)的时钟循环数来表示。数据传送速度可依据每单位时间(例如秒)传送的数据量(以兆字节为单位)来表示。例如,一个数据传送速度可为533MB/s。“选通信号”指代由驱动器施加到控制线且配置成升高控制线的电压和/或电流的数字电信号。在某些实施例中,选通信号配置成在较高层级与非较高层级之间振荡,且所述振荡在定义为循环的规则周期内发生。此振荡选通信号可充当用于在数字电路中传送数据的时钟或时钟信号。“接口”指代使得一个装置、组件或设备能够与另一装置、组件或设备相互作用和/或通信的协议和相关联电路、电路系统、组件、装置、系统、子系统等。
默认数据传送速度228可被设置成使得经由具有高传输误码率的存储器接口128传送的数据将仍可由存储控制器120的逻辑来恢复。换句话说,默认数据传送速度228可由调谐器212设置和/或调谐,以覆盖“最差情况”数据传送,使得可由接收器恢复数据(消息)。
在一个实施例中,可通过对用于例如选通信号的计时信号的时钟速率、阻抗管理器、占空比校正模块和/或数据总线130和控制总线132的物理迹线的裸片上终止值的调整来调谐或设置默认数据传送速度228。可通过经由存储器接口128将测试数据写入到非易失性存储器118,读回测试数据并确定测试数据的误码率来确定默认数据传送速度228。“测试数据”指代配置成测试装置、电路、存储单元、设备和/或例如存储器接口的接口的一个或多个组件、电路、系统、子系统的操作和/或性能的一组数据。
在示例性实施例中,存储器裸片202包含非易失性存储器118和裸片控制器214。在一个实施例中,非易失性存储器118包括NAND快闪存储器。在此实施例中,非易失性存储器118组织成N个存储块226SB1到SBN。“存储块”指代组织成使得可并行地对存储单元群组进行存储操作的一组存储单元。可在物理层级或逻辑层级处实施对存储单元组的组织。因此,在一个实施例中,存储块可包括例如字线的物理页、包括跨越平面和/或存储器裸片的物理页的逻辑页、包括一组物理页的物理擦除块、包括一组逻辑页的逻辑擦除块(LEB)等。存储块在本文中可称为“块”、“存储器块”或LEB。页(逻辑或物理)为非易失性存储器118中的最小写入单位,且存储块为最小擦除单位。因此,通常在逐逻辑页的基础上编程或存储数据。然而,擦除在逻辑页中编程的数据可能需要擦除存储块中的所有逻辑页。从主机102接收到的数据通常被编程或存储在擦除的存储块中。
在某些实施例中,存储器裸片202可使用或配置某些存储块226,以使其具有每存储单元存储单个二进制位值的存储单元(即,SLC存储块),并使用或配置其它存储块226,以使其包含每存储单元存储多个二进制位值的存储单元(即,MLC存储块)。例如,在一个实施例中,存储块226的百分之十可为SLC存储块,而存储块226的90%可为MLC存储块。通过以此方式指定存储块226,SLC存储块的每一逻辑页可包含单层级单元(SLC)存储单元,且MLC存储块的每一逻辑页可包含多层级(MLC)存储单元。逻辑页的典型大小可为16千字节(Kbyte)。存储块226-1例如通常由数千逻辑页组成。
在实施例中,裸片控制器214包含编程电路218、读取电路216、擦除电路220、控制电路224、快闪接口管理器126以及传送数据锁存器(XDL)222。“裸片控制器”指代配置成管理裸片的操作的一组电路、电路系统、逻辑或组件。在一个实施例中,裸片控制器为集成电路。在另一实施例中,裸片控制器为离散组件的组合。在另一实施例中,裸片控制器为一个或多个集成电路与一个或多个离散组件的组合。
传送数据锁存器(XDL)222充当存储控制器120与存储器裸片202之间的中间数据存储装置。快闪接口管理器126可与调谐器212协调,以建立用于存储器接口128的默认数据传送速度228和一组默认接口设置。在一个实施例中,传送从MLC存储单元读取的数据可包含比读取SLC存储单元高的误码率。因此,快闪接口管理器126和调谐器212可调整包含默认数据传送速度228的接口设置,使得借助于跨越存储器接口128传送MLC数据(即,来自MLC存储单元的数据)引入尽可能少的错误和实用性。以此方式,快闪接口管理器126和调谐器212用以降低从MLC存储单元读取的数据中的误码数。
在实施例中,图2的读取电路216将存储于存储器单元中的电荷量转译成对应于存储于单元中的电荷量的数据的二进制表示。借助于实例而非限制,读取电路216可包含电流/电压转换器、放大器以及模/数转换器。
图2的编程电路218将从主机102接收到的数据的二进制表示转译成编程电压和周期。编程电路将用于编程周期的这些编程电压施加到存储器单元,以使存储器单元存储电荷。所存储电荷量表示所接收数据的二进制表示。
可经由数据总线130执行将数据写入到传送数据锁存器(XDL)222。单独地,存储控制器120可通过激活控制总线132和/或在控制总线上发送控制信号来控制数据写入。可经由数据总线130以如上文所描述的切换模式写入数据。也可通过激活控制总线132(例如,CE#线528)来经由数据总线130以切换模式执行读取数据。
在实施例中,控制电路224配置成解译从存储控制器120接收到的先前所描述命令。在示例性实施例中,响应于由主机102指示将数据写入到非易失性存储器118,存储控制器120可经由数据总线130发出写入命令。存储控制器120可随后将数据写入到传送数据锁存器(XDL)222。控制电路224可将接收到的命令解译为写入命令,并使编程电路218将数据从传送数据锁存器(XDL)222写入到非易失性存储器118的适当存储器块和擦除的存储器页。类似地,当指示从指定存储器页读取数据时,存储控制器120可发出读取命令。“读取命令”指代从存储器单元读取数据的存储命令类型。
控制电路224可将接收到的命令解译为读取命令,并使读取电路216将数据从指定存储器页读取到传送数据锁存器(XDL)222中,且使存储控制器120将数据从传送数据锁存器(XDL)222读取到RAM 206。可使用旧版模式或切换模式或其组合来执行数据交换。例如,可使用切换模式读取数据且可使用旧版模式执行数据写入。
图3示出根据一个实施例的与数据传送速度300相关的属性。每一数据传送速度的特征可在于接口时钟速度和所得信号完整性。“接口时钟速度”指代定义用于控制信号的时钟速度的接口特性类型,所述控制信号配置成充当用于通信接口的时钟信号。“信号完整性”指代电信号质量的一组度量。在数字电子装置中,二进制值流由电压(或电流)波形来表示。然而,数字信号在本质上基本上是模拟的,且所有信号都会受到例如噪声、失真以及损耗的影响。
在短距离和低位速率下,简单的导体就能以充分保真度进行传输。在高位速率和/或较长距离或通过各种介质的情况下,各种影响都会使电信号降级到发生错误的程度,并使系统或装置发生故障。(在Wikipedia.com上搜索“signal_integrity”,2019年10月7日。已修改。2020年2月4日访问。)信号完整性为衡量消息或数据值或信号在源与目的地之间传达时受到干扰和/或信号降级影响的度量。
在相对于从非易失性存储器118的存储单元读取或感测数据值进行测量时,SLC存储单元相比MLC存储单元具有不同的信号完整性。可通过计算从SLC或MLC存储单元感测/读取的数据的误码率来测量此信号完整性差异。具体来说,MLC存储单元的信号完整性较差,因为当读取电路216读取MLC存储单元时,与识别相关联数据位值的每一存储单元相关联的存储器状态较易发生错误。由于存储单元读取发生的错误在本文中称为本征误码率。在一个实施例中,MLC存储单元可具有为0.4%的本征误码率。相比之下,SLC存储单元可具有为0.1%的本征误码率。可由存储控制器120的解码器(未示出)检测并校正在读取存储单元期间生成的错误。
本文中所公开的实施例可利用SLC存储单元与MLC存储单元之间的本征误码率差异,以取决于正对SLC存储单元还是MLC存储单元进行数据读取/写入来变化存储器接口设置。在某些实施例中,存储控制器120可基于正对SLC存储单元或MLC存储单元进行数据读取/写入来变化数据传送速度。“单层级单元信号完整性阈值”指代识别用于涉及单层级存储单元的存储操作(例如读取操作)的合适信号完整性的阈值。如本文中所使用,合适的信号完整性为控制器或系统能够补偿由于所述合适的信号完整性而引入的可容许错误数的信号完整性。“多层级单元信号完整性阈值”指代识别用于涉及多层级存储单元的存储操作(例如读取操作)的合适信号完整性的阈值。
“存储器状态”指代设计和/或配置成表示一个或多个数据位值的编码的存储器单元的条件。在某些实施例中,可使用存储操作变化存储器状态。在非易失性存储器单元中,存储器单元在没有电源的情况下维持其存储器状态。
在调谐器确定合适的数据传送速度时,调谐器可确定多个数据传送速度,并从这些速度中选择提供具有最高信号完整性和最少错误数的期望性能水平的数据传送速度。
图3示出几个示例数据传送速度以示出其间的差异。调谐器212可确定第一数据传送速度302和第二数据传送速度304。第一数据传送速度302的特征可在于第一接口时钟速度306和第一信号完整性308。第二数据传送速度304的特征可在于第二接口时钟速度314和第二信号完整性316。
接口时钟速度的频率可直接影响在所述接口时钟速度下经由数据总线行进的信号的信号完整性。随着接口时钟速度增大,信号在逻辑状态之间的转变时间较小,以便在要计时或锁存到电路(例如,触发器电路)中的时间上达到稳定、可确定、可识别的值。“开眼”指代视觉上可观察到的时序现象,在所述现象中,可看到多个信号在其计时速度方面利索地转变,从而导致在“信号眼”中可见较大的开放空间区域,或这些信号未利索地转变,从而缩小了信号眼中的开放空间。
如图3中所示,设置用于第一接口时钟速度306的较低频率310可提供特征在于较大开眼312的第一信号完整性308。较大开眼312指示较高或较好信号完整性。继而,设置用于第二接口时钟速度314的较高频率318可产生较小开眼320。较小开眼320指示较低或较差信号完整性。
图4示出根据一个实施例的存储器系统400。存储器系统400可包括存储器裸片202、存储控制器120、处理器204、RAM 206、ROM 208、非易失性存储器118、读取电路216、编程电路218、擦除电路220、传送数据锁存器(XDL)222、包括数据总线130和控制总线132的存储器接口128、控制电路224以及驱动器210。这些组件可如针对图1和图2中所示的相似组件所描述般体现。所示实施例进一步包含裸片控制器214、调谐器402以及快闪接口管理器126。
在一个实施例中,非易失性存储器118可包含设置或配置成操作为如所示的SLC存储块404和MLC存储块406的存储块,每一SLC存储块404包括每存储单元存储单个数据位的存储单元,且每一MLC存储块406包括每存储单元存储多于一个数据位的存储单元。
在某些实施例中,存储器系统400可向主机102显露或通告某些存储块为SLC存储块404而其它存储块为MLC存储块406。在其它实施例中,主机102不知道存储器系统400正将某些数据存储在SLC存储块404中并将其它数据存储在MLC存储块406中。在此类实施例中,存储控制器120可确定何数据被写入到SLC存储块404且何数据被写入到MLC存储块406。实施于此存储器系统400上的存储操作因此可涉及任一类型的存储块。如上文所描述,相比MLC存储块406,涉及SLC存储块404的存储操作产生较高开销(数据传送执行时间占编程执行时间的百分比)。如早期所描述,两种类型的存储器还具有不同的信号完整性要求。
存储控制器120的调谐器402可配置成调谐存储器接口128,以便有效地传送用于配置于MLC存储块406内的存储单元的数据,并有效地传送用于配置于SLC存储块404内的存储单元的数据。为此目的,调谐器402可确定和/或生成多层级单元设置408和单层级单元设置410。多层级单元设置408可包含多层级存储单元数据传送速度412且单层级单元设置410可包含单层级存储单元数据传送速度414。在一个实施例中,调谐器402通过发送测试数据和接收测试数据,并确定传送的误码率且接着调整接口设置以降低误码率的迭代过程来确定多层级单元设置408和单层级单元设置410。
在一个实施例中,调谐器402以可接受的信号完整性和误码率以及数据传送速度来调谐存储器接口128,以确定用于传送数据的适当接口设置。调谐器402可针对配置成每存储单元存储多于一个位的存储单元来调谐用于数据传送的存储器接口128,并生成相关联多层级单元设置408。另外,调谐器402可针对配置成每存储单元存储单个位的存储单元来调谐用于数据传送的存储器接口128,并生成相关联单层级单元设置410。所属领域的技术人员将认识到,调谐器402可确定用于配置成每存储单元存储任何数目个位,例如2、3、4、5、6、7、8等个位的存储单元的接口设置。类似地,所公开解决方案的实施例可在需要时基于存储操作中涉及的存储单元配置成存储的位数目来变化接口设置。
一旦调谐器402或另一模块或组件确定多层级单元设置408和单层级单元设置410,存储器系统400就可使用任一组接口设置来服务对非易失性存储器118上的数据的读取命令和写入命令。
“多层级单元设置”指代用于多层级存储单元或与多层级存储单元相关、相互作用,使用、操作或管理多层级存储单元的参数。多层级单元设置可与写入到存储单元或编程存储单元、从存储单元读取、擦除存储单元、管理存储单元、用于存储单元的装置驱动器或存储控制器设置等相关。
在某些实施例中,多层级单元设置可包含一个或多个存储阈值,例如读取电压阈值(用于从存储单元读取数据的一组感测值)、电阻率阈值、编程阈值(用于将数据写入/编程到存储单元的一组一个或多个阈值电压电平值)、擦除阈值、硬件驱动器层级阈值、存储控制器层级阈值等。
多层级单元设置可在存储介质初始化期间一次设置,通过向存储介质发出的每一命令动态地一次设置,或在存储介质响应于例如事件或时间间隔的触发而进行操作期间一次设置。
“多层级存储单元数据传送速度”指代配置成专用于到或从多层级存储单元的数据传送的数据传送速度。
“单层级单元设置”指代用于单层级存储单元或与单层级存储单元相关、相互作用,使用、操作或管理单层级存储单元的参数。单层级单元设置可与写入到存储单元或编程存储单元、从存储单元读取、擦除存储单元、管理存储单元、用于存储单元的装置驱动器或存储控制器设置等相关。
在某些实施例中,单层级单元设置可包含一个或多个存储阈值,例如读取电压阈值(用于从存储单元读取数据的一组感测值)、电阻率阈值、编程阈值(用于将数据写入/编程到存储单元的一组一个或多个阈值电压电平值)、擦除阈值、硬件驱动器层级阈值、存储控制器层级阈值等。
单层级单元设置可在存储介质初始化期间一次设置,通过向存储介质发出的每一命令动态地一次设置,或在存储介质响应于例如事件或时间间隔的触发而进行操作期间一次设置。
“单层级存储单元数据传送速度”指代配置成专用于到或从单层级存储单元的数据传送的数据传送速度。
图5为存储器系统500的框图。存储器系统500描绘可基于访问的存储单元类型变化存储器裸片接口的示例性系统。在示例性实施例中,存储控制器120包含控制电路502、读写电路504、错误校正电路506以及快闪接口管理器508。
控制电路502可与主机102介接,并接收用于存储操作的传入命令且管理存储控制器120的其它电路和模块以服务所述命令。控制电路502可包含逻辑、固件和/或软件且可实施于处理器中。
读写电路504用以指示裸片控制器214执行装置特定措施,例如非易失性存储器118上的存储操作。“读写电路”指代配置和/或操作成从存储介质(例如存储阵列的存储单元)读取数据并将数据写入到存储介质的装置、组件、元件、模块、系统、子系统、电路系统、逻辑、硬件或电路。
在一个实施例中,错误校正电路506可配置成校正由读写电路504响应于第一读取命令532而读取的数据的一个或多个错误。“错误校正电路”指代配置和/或操作成检测且任选地校正一组数据中的一个或多个错误的装置、组件、元件、模块、系统、子系统、电路系统、逻辑、硬件或电路。
在一个实施例中,错误校正电路可包括一种或多种类型的解码器,包含(但不限于)低密度奇偶校验(LDPC)解码器、里德-所罗门码解码器、戈莱码解码器、博斯乔杜里霍克文黑姆(BCH)码解码器、涡轮码解码器、多维奇偶检验码解码器、汉明码解码器、阿达马码解码器、扩展器码解码器、里德-穆勒码解码器、维特比解码器、法诺解码器等。
快闪接口管理器508可包括初始化电路510、开关电路512以及控制寄存器514。初始化电路510可配置成加载多层级单元设置516,以便针对配置成每存储单元存储多于一个位的存储单元(MLC存储块)配置用于数据传送的存储器接口128。替代地或另外,初始化电路510可配置成加载单层级单元设置518,以便针对配置成每存储单元存储单个位值的存储单元(SLC存储块)配置用于数据传送的存储器接口128。
“初始化电路”指代配置和/或操作成在关机或断电或休眠事件之后配置且执行使装置、组件、元件、模块、系统、子系统、电路系统、逻辑、硬件或电路开始正常操作的操作的装置、组件、元件、模块、系统、子系统、电路系统、逻辑、硬件或电路。
在某些实施例中,初始化电路可配置某些设置、接口或其它组件,以便有助于一个或多个装置、组件、元件、模块、系统、子系统、硬件、电路等的操作和功能。
开关电路512管理在存储控制器120的操作期间使用哪些接口设置。“开关电路”指代配置成变化、交换或切换用于一个或多个控制寄存器或其它存储介质的设置,使得任何现有设置或值由新的或不同设置或值替换的装置、组件、元件、模块、系统、子系统、电路系统、逻辑、硬件或电路。
在一个实施例中,控制寄存器514存储当前正用于存储器接口128的接口设置(由控制寄存器514方框内的虚线矩形示出)。“控制寄存器”指代配置成存储由存储器接口使用,以经由存储器接口发送和接收数据与控制信号的接口设置的一组一个或多个硬件寄存器。“硬件寄存器”指代配置成充当高速存储器的通常由触发器构成的电路。硬件寄存器可包含存储器(易失性或非易失性)的一个或多个特性,例如:一次读取或写入多个位的能力,和以类似于存储器地址的方式使用地址以选择特定寄存器的能力。(在Wikipedia.com上搜索硬件寄存器,2020年1月9日。已修改。2020年2月5日访问。)
硬件寄存器可配置成用于两个或更多个电子组件、电路、裸片、芯片等之间的接口。例如,硬件寄存器可用于保存用于两个组件或电路之间的接口的接口设置。出处同前。
类似地或另外,在一个实施例中,硬件寄存器可用作状态机、固件和/或软件与例如周边装置的一个或多个其它组件之间的接口。在此类实施例中,软件可将数据写入到硬件寄存器以便将信息发送到装置,且可从硬件寄存器读取数据以从装置获得信息。出处同前。
“接口设置”指代用于例如存储器接口的通信接口或与通信接口相关、相互作用,使用、操作或管理通信接口的参数。接口设置可与配置成确保数据和/或控制信号在发送器与接收器之间的准确发送和接收的设置相关。
对于使用一组控制线以传达数据和信号的接口,接口设置可包含调整接口的操作以改进接口的性能、保真度以及信号完整性的参数、值以及设置。可为接口设置的设置的一些实例包含(但不限于)阻抗(ZQ)匹配设置、例如延迟设置的裸片上终止(ODT)设置、占空比校正设置、接口时钟速度设置等。在某些实施例中,可定义和或调整接口设置,以考虑由过程制造变化、使用或可用电压的变化,以及发送器和/或接收器的操作温度的变化引起的电路或组件差异。
接口设置可在配置成使用相关联接口的发送器和/或接收器的初始化期间一次设置,通过借助于接口发出的每一命令动态地一次设置,或在使用接口的发送器和接收器响应于例如事件、时间间隔、满足阈值的条件等的触发而进行操作期间一次设置。
在存储控制器120的操作期间,快闪接口管理器508可在例如RAM 206的易失性存储器中存储多层级单元设置516和单层级单元设置518。在存储器系统500并不操作时,快闪接口管理器508可在存储器裸片202的非易失性存储器118中存储适合于存储块配置的多层级单元设置516和单层级单元设置518。
存储器接口128充当存储控制器120与存储器裸片202之间的通信桥。存储器接口128将存储控制器120的快闪接口管理器508耦合到存储器裸片202的快闪接口管理器126。存储器接口128可根据行业标准协议或私有协议操作。在一个实施例中,存储器接口128可配置成使用具有多层级单元设置516和单层级单元设置518两者的双数据速率协议来传送数据。
“双数据速率协议”指代配置成在时钟信号或选通信号的上升边缘和下降边缘两者上将数据从发送器传送到接收器的通信总线协议。双数据速率协议可简称为“DDRx”,其中x表示协议的代数(例如,DDR2为第2代双数据速率协议)。双数据速率协议也可称为“双泵送(double pumped/dual-pumped)”、“双转变”协议。双数据速率协议也可称为切换模式,尤其在与存储器接口一起使用时。
双数据速率协议配置成且能够传送的数据为单数据速率协议(简称为“SDR”)的两倍,单数据速率协议配置成在时钟信号的上升边缘或下降边缘上传送数据。
存储器接口128可包含数据总线130,和可为包括控制线的控制总线132的部分的DQS线530。“控制线”指代配置成将电流和/或电压从源输送到目的地的结构、电路、电路系统和/或相关联逻辑。在某些实施例中,经由控制线供应或释放的模拟电压、电流、偏压和/或数字信号用于控制开关、选择栅极和/或其它电组件。基于控制线控制电路的哪些部分或控制线耦合或连接到其它电路的位置,某些控制线可具有特定名称。被命名的控制线的实例包含字线、位线、源极控制线、漏极控制线等。控制线可严格地输送数据信号、严格地输送命令或控制信号,和/或两者的组合。
在一些实施例中,控制总线132包含读取启用线(RE线520)、写入启用线(WE线522)、命令锁存启用线(CE线524)、地址锁存启用线(CA线526)、芯片启用线(CE#线528),以及也被称为选通线的时钟信号,例如选通信号(DQS线530)。“选通线”指代配置成递送选通信号的控制线。在某些实施例中,控制总线132可包含就绪/忙碌控制线(未示出),裸片控制器214管理所述控制线以向存储控制器120传信存储器裸片202是否正忙于进行存储操作且不可用于服务新命令。而且,在某些实施例中,控制总线132可包含存储控制器120可使用以重置或“重启”存储器裸片202的重置线(未示出)。
为写入数据,存储控制器120将数据写入到数据总线130,且激活控制线当中的WE线522。存储控制器120可通过将某些数据线(即D1、D3、D5以及D7)驱动为高来写入数据。确证为高的数据线可能不会立即转变为高态有效。替代地,可逐渐发生转变。不同数据线上的电压转变可具有不同斜率,这部分是由于不同数据控制线的不同电和传输特性。电压的变化速率或电压转变的斜率可被称为控制线的转换速率。
存储器存储控制器120可延迟驱动WE线522上的信号,以部分确保数据线上的电压电平稳定且数据线处于对应于写入的数据的逻辑状态。此延迟的长度为可为多层级单元设置516和/或单层级单元设置518的部分的接口设置的一个实例。
在一个实施例中,当WE线522上的信号电平超出电压阈值时,裸片控制器214可锁存数据线的状态并读取被锁存的数据。在示例性实施例中,可对应于数据线D0到D7上的信号电平已达到其稳态电平的时间激活WE线522。
控制电路502可配置成接收第一读取命令532,其参考存储器裸片的每存储单元仅存储单个位的存储单元(例如,SLC存储块404)。在一个实施例中,控制电路502确定用于第一读取命令532的数据存储在SLC存储块404上。因此,控制电路502可传信开关电路512,以将用于存储器接口128的设置从多层级单元设置516切换到单层级单元设置518。
有利地,接口设置的此切换或变化可仅花费几纳秒。因此,进行切换的开销几乎不会增加整个读取操作时间的开销。在接口设置变为单层级单元设置518的情况下,读写电路504接着使用这些单层级单元设置518来经由存储器接口128读取数据。在一个实施例中,单层级单元设置518包含比多层级单元设置516的数据传送速度快的数据传送速度,代价为单层级单元设置518的信号完整性低于多层级单元设置516的信号完整性。
在一个实施例中,开关电路512可配置成响应于读写电路504读取用于第一读取命令532的数据而自动地将用于存储器接口128的设置从单层级单元设置518切换回到多层级单元设置516。也就是说,一旦已读取来自SLC存储块的数据,开关电路512将自动地使存储器接口128准备好用于后续MLC存储块操作。
在一个实施例中,在第一读取命令532之后,控制电路502可配置成接收参考存储多于一个位的存储单元(MLC存储器)的第二读取命令534。响应于第二读取命令534,开关电路512可配置成响应于参考每存储单元存储多于一个位的存储单元的第二读取命令534而将存储器接口128设置切换到多层级单元设置516。
在各种实施例中,如关于图4所描述般设置或调谐存储器接口的数据传送速度可包括将接口设置加载到控制寄存器514,所述接口设置配置成增大存储器接口的接口时钟速度。以此方式,开关电路512配置成将多层级单元设置516和单层级单元设置518移入和移出控制寄存器514。
由存储器接口128响应于第一读取命令532而实施的单层级单元设置518可配置成在这些条件下降低信号完整性,且增大由读写电路504读取的数据的数据传送速度。用于SLC存储器的此数据传送速度可配置成高于与用于MLC存储器的多层级单元设置516相关联的数据传送速度。在一个实施例中,在使用单层级单元设置518以例如服务第一读取命令532时,错误校正电路506配置成执行错误校正,以补偿降低的信号完整性。
图6示出根据一个实施例的存储器系统600。类似于先前示出的实施例,存储器系统600可包括经由存储器接口128连接的存储控制器120和存储器裸片202。存储控制器120可包括快闪接口管理器602,其并有初始化电路604、开关电路606、控制寄存器610、驱动器612、计时电路614以及信号完整性电路616。存储控制器120的快闪接口管理器602的初始化电路604、开关电路606以及控制寄存器610可如关于图5的相似元件所描述般体现。
驱动器612可耦合到存储器接口128的数据总线130和DQS线530。驱动器612的特征可在于多个数据传送速度618。多个数据传送速度618中的每一个可呈现不同的信号完整性(见图3)。驱动器612可用以例如通过调整DQS线530的频率来调整数据总线130的数据传送速度。
快闪接口管理器602可包含计时电路614。计时电路614的特征可在于一组接口时钟速度620。计时电路614可用以通过延迟由DQS线530传达的选通信号(或时钟信号)的传输来降低数据传送速度。快闪接口管理器602可包含信号完整性电路616,其配置成在特定数据传送速度下确定存储器接口128的信号完整性。“信号完整性电路”指代配置和/或操作成确定、识别、检测、感测或计算在源与目的地之间传达的一个或多个数据信号的信号完整性的装置、组件、元件、模块、系统、子系统、电路系统、逻辑、硬件或电路。在一个实施例中,信号完整性电路可确定例如存储器接口的通信接口的信号完整性。
存储器裸片202可包括裸片控制器214,其管理配置有SLC存储块404和MLC存储块406的非易失性存储器118。存储器裸片202的裸片控制器214可通过存储器接口128的数据总线130和包含DQS线530的控制总线耦合到存储控制器120。
在一个实施例中,存储控制器120可配置成经由数据总线130将测试数据622以数据传送速度写入到非易失性存储器118中的MLC存储块406。存储控制器120可配置成经由数据总线130以所述数据传送速度从MLC存储块406读取测试数据622。接下来,存储控制器120可指示驱动器612将数据传送速度变为多个数据传送速度中的一个。
接着,存储控制器120经由数据总线130以数据传送速度中的一个或多个从MLC存储块406写入和读取测试数据622。存储控制器120可针对多个数据传送速度中的每一个反复地读取和写入测试数据622,直到已测试多个数据传送速度618的每一数据传送速度,和/或满足或通过误码率阈值为止。对于存储控制器120测试的数据传送速度中的每一个,存储控制器120可确定写入和读取测试数据622的信号完整性。
使用这些确定的信号完整性测量,存储控制器120可确定用于MLC存储块406的具有所要信号完整性和可容许误码率的多层级存储单元数据传送速度630。存储控制器120可确定多层级存储单元数据传送速度630,使得信号完整性满足多层级错误校正阈值。在一个实施例中,以此方式确定的多层级存储单元数据传送速度630可充当关于图2论述的默认数据传送速度228。
在一个实施例中,存储控制器120可配置成经由数据总线130将测试数据622以数据传送速度写入到非易失性存储器118中的SLC存储块404。存储控制器120可配置成经由数据总线130以所述数据传送速度从SLC存储块404读取测试数据622。接下来,存储控制器120可指示驱动器612将数据传送速度变为多个数据传送速度中的一个。
接着,存储控制器120经由数据总线130以数据传送速度中的一个或多个从SLC存储块404写入和读取测试数据622。存储控制器120可针对多个数据传送速度中的每一个反复地读取和写入测试数据622,直到已测试多个数据传送速度618的每一数据传送速度,和/或满足或通过误码率阈值为止。对于存储控制器120测试的数据传送速度中的每一个,存储控制器120可确定写入和读取测试数据622的信号完整性。
使用这些确定的信号完整性测量,存储控制器120可确定用于MLC存储块406的具有所要信号完整性和可容许误码率的单层级存储单元数据传送速度626。存储控制器120可确定单层级存储单元数据传送速度626,使得信号完整性满足单层级错误校正阈值。
在一个实施例中,存储控制器120的读写电路504可配置成使用单层级存储单元数据传送速度626服务针对SLC存储块404的存储操作,且使用多层级存储单元数据传送速度630服务针对MLC存储块406的存储操作。单层级存储单元数据传送速度626可对应于在需要时加载到存储控制器120的接口设置624中的一组单层级单元设置608。继而,多层级存储单元数据传送速度630可对应于在需要时加载到控制寄存器610中的一组多层级单元设置628。
图7为可基于访问的存储单元类型——SLC存储单元与MLC存储单元变化存储器裸片接口的示例性方法的流程图700。在一个实施例中,所述方法可基于正从其读取或写入到的存储单元的类型来变化接口设置。可由存储器装置在块702处接收第一读取命令。存储器装置可在决策块704处确定第一存储器命令参考存储器裸片的单层级存储单元还是多层级存储单元。
如果第一读取命令参考单层级存储单元,则存储器装置可设置第一数据传送速度,使得此数据传送速度将存储器接口用于从单层级存储单元进行数据传送。在一个实施例中,在子例程块706中设置此数据传送速度可涉及在块708中降低数据总线上的信号的信号完整性,和在块710中增大用于数据总线的接口时钟速度。
接着可在块712中使用第一数据传送速度来经由存储器接口从单层级存储单元传送数据。在一些实施例中,一旦用于此第一读取命令的数据传送完成,存储器装置就可自动地将用于数据传送的存储器接口配置为默认数据传送速度。在其它实施例中,存储器接口可保持配置成用于第一数据传送速度,直到接收后续读取命令为止,如下文所描述。
在块702处,存储器装置可接收第二读取命令。存储器装置可在决策块704处确定第二读取命令参考存储器裸片的多层级存储单元。在此情况下,存储器装置可实施子例程块714,其中可设置用于存储器接口的第二数据传送速度,使得此第二数据传送速度管理存储器接口以从多层级存储单元进行数据传送。在子例程块714中设置此第二数据传送速度可涉及在块716中增大数据总线上的信号的信号完整性,和在块718中降低用于数据总线的接口时钟速度。存储器装置接着在块720中使用用于多层级存储单元的第二数据传送速度从第二组存储单元传送数据。
应注意,虽然关于此图示描述“第一”和“第二”读取命令与数据传送速度,但描述词“第一”和“第二”并不意图将本发明限为仅两个选择。所属领域的一般技术人员将认识到,多层级存储单元可包含存储两个、三个、四个或将来存储甚至较多数据位的存储单元。每一类型的存储单元可具有不同的信号完整性和时钟速度要求,使得可使用第三、第四等数据传送速度以配置用于将数据传送到具有特定属性的一组存储单元的存储器接口。另外,对于不同的物理存储器位置,存储器裸片的物理架构可诱发不同的数据传送速度。预期本文中所公开的电路、系统以及方法可并有用于存储控制器与存储介质之间的通信的一系列接口设置。
如先前所论述,信号完整性受到用于跨越存储器接口传送数据的接口时钟速度的影响。可通过增大存储器裸片和所连接硬件的物理温度来进一步降低信号完整性。另外,较高的计时速度可诱发时钟驱动式存储器电路的温度增大,这是由于为支持较快的传信水平,消耗了额外能量且能量以热量形式消散。图8为可响应于温度波动而使用所公开的解决方案、电路和/或系统执行接口设置调谐,或可在需要时实施其它裸片冷却方法以支持数据传送速度的示例性方法的流程图800,所述温度波动在较高数据传送速度下可进一步降低信号完整性。
存储器装置可在块802处确定存储器裸片的当前温度。存储器装置接着可在决策块804中确定当前温度是否超出预定温度阈值。相比相同温度下的单层级存储单元,温度变化可影响MLC存储单元,使得其经历较高误码率。在某些实施例中,如果温度过高,则MLC存储单元的误码率可上升到不可接受的水平。决策块804中参考的阈值可为取决于块808的读取命令所参考的存储单元选择的一组阈值中的一个。
当在决策块804处当前温度并不超出阈值时,存储器装置可并不采取措施,且可在接收到后续读取命令时移动到块808。然而,响应于当前温度超出温度阈值,存储器裸片可行进到块806。
在块806处,存储器装置可采取措施以将存储器裸片冷却到目标温度。此目标温度可配置成相对于当前温度降低存储器裸片的存储单元的误码率。一些存储器装置可例如通过激活风扇或液态冷却剂流来实施冷却方法,可调整所述风扇或液态冷却剂流以有助于从存储器裸片或装置到大气或散热片的传热。在一些实施例中,可抑制计时速率以便允许裸片或存储器装置冷却。可个别地或组合地采用数种方法中的任一种,如所属领域的技术人员将理解。一旦存储器裸片或存储器装置具有满足目标温度的温度,所述方法可行进到块808。
可在块808处接收参考单层级存储单元的第一读取命令。结果,在块810处,所述方法可将存储器裸片的存储器接口调整成配置成用于从单层级存储单元进行数据传送的第一数据传送速度。此第一数据传送速度可配置成增大存储器接口的第一接口时钟速度。在块812处,存储器装置可接下来使用第一接口时钟速度来经由存储器接口从参考的单层级存储单元传送数据。
在本发明内,可将不同的实体(其可不同地称作“单元”、“电路”、其它组件等)描述或要求为“配置成”执行一个或多个任务或操作。配置成[执行一个或多个任务]的[实体]的此表述在本文中用于指结构(即,例如电子电路的物理物体)。更具体来说,此表述用于指示此结构被布置成在操作期间执行一个或多个任务。即使结构当前未被操作,也可将结构称为“配置成”执行一些任务。“配置成将信用分配到多个处理器核心的信用分配电路”意图涵盖例如具有在操作期间执行此功能的电路系统的集成电路,即使所论述的集成电路当前未被使用(例如,未连接到电源)也如此。因此,描述或叙述为“配置成”执行一些任务的实体指代物理物体,例如装置、电路、存储可执行以实施任务的程序指令的存储器等。此短语在本文中并不用于指无形物体。
术语“配置成”并不意指“可配置成”。例如,将不认为未编程的FPGA“配置成”执行一些特定功能,尽管其在编程之后可为“可配置成”执行所述功能的也如此。“逻辑”指代机器存储器电路、非暂时性机器可读介质和/或电路系统,其借助于其材料和/或材料能量配置包括可应用以影响装置的操作的控制和/或程序信号,和/或设置和值(例如电阻、阻抗、电容、电感、电流/电压额定值等)。磁性介质、电子电路、光电存储器(易失性和非易失性两者)以及固件为逻辑的实例。逻辑专门排除纯信号或软件本身(然而不排除包括软件且由此形成物质的配置的机器存储器)。
在所附权利要求书中叙述结构“配置成”执行一个或多个任务明确地不意图为所述权利要求元素援引35U.S.C.§112(f)。因此,本申请案中并不另外包含“用于”[执行功能]“的构件”结构的权利要求书不应依据35U.S.C§112(f)解释。
如本文中所使用,术语“基于”用于描述影响确定的一个或多个因素。此术语并不排除额外因素会影响确定的可能性。也就是说,确定可能仅仅基于指定因素或基于指定因素以及其它未指定的因素。考虑短语“基于B确定A”。此短语指定B为用于确定A或影响A的确定的因素。此短语并不排除A的确定还可基于例如C的某一其它因素。此短语还意图涵盖仅仅基于B确定A的实施例。如本文中所使用,短语“基于”与短语“至少部分地基于”同义。
如本文中所使用,短语“响应于”描述触发效果的一个或多个因素。此短语并不排除额外因素会影响或以其它方式触发效果的可能性。也就是说,效果可能仅仅响应于那些因素,或可能响应于指定因素以及其它未指定的因素。考虑短语“响应于B而执行A”。此短语指定B为触发A的执行的因素。此短语并不排除也可响应于例如C的某一其它因素而执行A。此短语还意图涵盖仅仅响应于B而执行A的实施例。
如本文中所使用,除非另外陈述,否则术语“第一”、“第二”等用作在其之前的名词标记,且并不暗示任何类型的排序(例如,空间、时间、逻辑等)。例如,在具有八个寄存器的寄存器组中,术语“第一寄存器”和“第二寄存器”可用于指八个寄存器中的任两个,而非例如仅逻辑寄存器0和1。
当在权利要求书中使用时,术语“或”用作包含性的而非排他性的或。例如,短语“x、y或z中的至少一个”意指x、y和z中的任一个,以及其任何组合。
Claims (20)
1.一种电路,其包括:
初始化电路,其配置成加载多层级单元设置,以针对配置成每存储单元存储多于一个位的存储单元配置用于数据传送的存储器接口;
控制电路,其配置成接收参考存储器裸片的存储单元的第一读取命令,所述存储单元每存储单元存储单个位;
开关电路,其配置成响应于接收到所述第一读取命令,将所述存储器接口的设置从所述多层级单元设置切换到单层级单元设置;以及
读写电路,其配置成使用所述单层级单元设置从所述存储器裸片读取用于所述第一读取命令的数据。
2.根据权利要求1所述的电路,其中所述开关电路配置成响应于所述读写电路读取用于所述第一读取命令的数据,将所述存储器接口的设置从所述单层级单元设置切换到所述多层级单元设置。
3.根据权利要求1所述的电路,其中所述控制电路进一步配置成接收参考每存储单元存储多于一个位的存储单元的第二读取命令;且
其中所述开关电路配置成响应于接收到所述第二读取命令,将所述存储器接口的设置从所述单层级单元设置切换到所述多层级单元设置。
4.根据权利要求3所述的电路,其中所述控制电路在所述第一读取命令之后接收所述第二读取命令。
5.根据权利要求1所述的电路,其进一步包括错误校正电路,所述错误校正电路配置成校正由所述读写电路针对所述第一读取命令读取的数据中的一个或多个错误。
6.根据权利要求5所述的电路,其中所述单层级单元设置配置成降低由所述读写电路针对所述第一读取命令读取的所述数据的信号完整性且增大数据传送速度,且所述错误校正电路配置成执行错误校正,所述错误校正配置成补偿降低的信号完整性。
7.根据权利要求1所述的电路,其进一步包括调谐器,所述调谐器配置成针对配置成每存储单元存储多于一个位的存储单元调谐用于数据传送的存储器接口,且配置成生成所述多层级单元设置。
8.根据权利要求7所述的电路,其中所述调谐器配置成针对配置成每存储单元存储单个位的存储单元调谐用于数据传送的所述存储器接口,且配置成生成所述单层级单元设置。
9.根据权利要求1所述的电路,其中所述单层级单元设置配置成将所述存储器接口的数据传送速度增大为高于与所述多层级单元设置相关联的数据传送速度。
10.根据权利要求1所述的电路,其中所述存储器接口配置成使用具有所述单层级单元设置且具有所述多层级单元设置的双数据速率协议来传送所述数据。
11.一种操作存储器装置的方法,其包括:
接收参考存储器裸片的一组单层级存储单元的第一读取命令;
将所述存储器裸片的存储器接口的数据传送速度设置为第一数据传送速度,使得所述第一数据传送速度将所述存储器接口用于从所述一组单层级存储单元进行数据传送;以及
使用所述第一数据传送速度来经由所述存储器接口从所述一组单层级存储单元传送数据。
12.根据权利要求11所述的方法,其进一步包括:
接收参考存储器裸片的一组多层级存储单元的第二读取命令;
将所述存储器接口的所述数据传送速度设置为第二数据传送速度,使得所述第二数据传送速度将所述存储器接口用于从所述一组多层级存储单元进行数据传送;以及
使用所述第二数据传送速度来经由所述存储器接口从所述一组多层级存储单元传送数据。
13.根据权利要求12所述的方法,其中所述第二数据传送速度通过增大所述存储器接口的数据总线的信号的信号完整性,且通过降低用于所述数据总线的接口时钟速度来利用所述存储器接口。
14.根据权利要求11所述的方法,其中所述第一数据传送速度通过降低所述存储器接口的数据总线的信号的信号完整性,且通过增大用于所述数据总线的接口时钟速度来利用所述存储器接口。
15.根据权利要求11所述的方法,其进一步包括:
确定所述存储器裸片的当前温度,所述裸片配置成使用第一接口时钟速度来经由所述存储器接口与存储控制器通信;
响应于所述当前温度超出阈值,将所述存储器裸片冷却到目标温度,所述目标温度配置成相对于所述当前温度降低所述存储器裸片的存储单元的误码率;
其中所述第一数据传送速度配置成增大所述存储器接口的所述第一接口时钟速度。
16.根据权利要求11所述的方法,其中设置所述存储器接口的所述数据传送速度包括将配置成增大所述存储器接口的接口时钟速度的接口设置加载到控制寄存器。
17.根据权利要求11所述的方法,其中所述存储器接口包括数据总线和控制总线。
18.根据权利要求11所述的方法,其中所述存储器接口配置成使用双数据速率协议传送所述数据。
19.一种存储器系统,其包括:
存储控制器,其包括:
驱动器,其耦合到存储器接口的数据总线和选通线,所述驱动器用以调整所述数据总线和所述选通线的数据传送速度,所述驱动器的特征在于多个数据传送速度,其中所述多个数据传送速度中的每一个呈现不同的信号完整性;
计时电路,其用以通过延迟由所述选通线传达的选通信号的传输来降低所述数据传送速度,所述计时电路的特征在于一组接口时钟速度;以及
信号完整性电路,其配置成针对特定数据传送速度确定所述存储器接口的信号完整性;以及
存储器裸片的裸片控制器,所述裸片控制器经由所述数据总线和所述选通线耦合到所述存储控制器;
其中所述存储控制器配置成:
经由所述数据总线将测试数据以数据传送速度写入到所述存储器裸片中的一组多层级存储单元;
经由所述数据总线以所述数据传送速度从所述多层级存储单元读取所述测试数据;
指示所述驱动器将所述数据传送速度变为所述多个数据传送速度中的一个;
在每一数据传送速度下,经由所述数据总线以所述数据传送速度从所述多层级存储单元写入和读取所述测试数据;
对于所述多个数据传送速度中的每一个,确定写入和读取所述测试数据的所述信号完整性;以及
确定用于涉及所述多层级存储单元的存储操作的多层级存储单元数据传送速度,使得所述信号完整性满足多层级错误校正阈值;
其中所述存储控制器进一步配置成:
经由所述数据总线将测试数据以数据传送速度写入到所述存储器裸片中的一组单层级存储单元;
经由所述数据总线以所述数据传送速度从所述单层级存储单元读取所述测试数据;
指示所述驱动器将所述数据传送速度变为所述多个数据传送速度中的一个;
在每一数据传送速度下,经由所述数据总线以所述数据传送速度从所述单层级存储单元写入和读取所述测试数据;
对于所述多个数据传送速度中的每一个,确定写入和读取所述测试数据的所述信号完整性;以及
确定用于涉及所述单层级存储单元的所述存储操作的单层级存储单元数据传送速度,使得所述信号完整性满足单层级错误校正阈值;且
其中所述存储控制器包括读写电路,其配置成:
使用所述单层级存储单元数据传送速度服务涉及所述单层级存储单元的所述存储操作,且使用所述多层级存储单元数据传送速度服务涉及所述多层级存储单元的所述存储操作。
20.根据权利要求19所述的存储器系统,其中所述单层级存储单元数据传送速度对应于加载到所述存储控制器的控制寄存器中的一组单层级单元设置,且所述多层级存储单元数据传送速度对应于加载到所述控制寄存器中的一组多层级单元设置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/798,590 | 2020-02-24 | ||
US16/798,590 US10971215B1 (en) | 2020-02-24 | 2020-02-24 | Dynamically adjust data transfer speed for non-volatile memory die interfaces |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113296688A CN113296688A (zh) | 2021-08-24 |
CN113296688B true CN113296688B (zh) | 2024-05-28 |
Family
ID=75275738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010558014.0A Active CN113296688B (zh) | 2020-02-24 | 2020-06-18 | 非易失性存储器裸片接口的数据传送速度的动态调整 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10971215B1 (zh) |
CN (1) | CN113296688B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11635794B2 (en) * | 2020-08-10 | 2023-04-25 | Micron Technology, Inc. | Memory sub-system temperature throttling relaxation |
KR20220105303A (ko) * | 2021-01-20 | 2022-07-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US11762589B2 (en) * | 2021-08-06 | 2023-09-19 | Micron Technology, Inc. | Dynamic read-level thresholds in memory systems |
TWI802268B (zh) * | 2022-02-14 | 2023-05-11 | 神雲科技股份有限公司 | 伺服系統 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1455897A (zh) * | 2000-08-17 | 2003-11-12 | 三因迪斯克公司 | 与主机串行通信的多个可拆卸非易失性存储卡 |
CN101079322A (zh) * | 2006-03-31 | 2007-11-28 | 三星电子株式会社 | 多位存储装置和存储系统 |
JP2008003820A (ja) * | 2006-06-22 | 2008-01-10 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置及びアダプタ装置 |
WO2008093606A1 (ja) * | 2007-01-30 | 2008-08-07 | Panasonic Corporation | 不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置 |
CN105339910A (zh) * | 2013-06-26 | 2016-02-17 | 西部数据技术公司 | 在混合驱动器中的虚拟nand容量扩展 |
CN108269601A (zh) * | 2016-12-30 | 2018-07-10 | 西部数据技术公司 | 非易失性存储器中的处理器 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8554799B2 (en) | 2005-07-01 | 2013-10-08 | Microsoft Corporation | Blocks of time with metadata |
WO2009063614A1 (ja) * | 2007-11-14 | 2009-05-22 | Panasonic Corporation | メモリコントローラ、不揮発性記憶モジュール、アクセスモジュール、及び不揮発性記憶システム |
US8090902B1 (en) | 2009-05-22 | 2012-01-03 | Western Digital Technologies, Inc. | Disk drive adjusting command execution in response to control circuitry die temperature |
US8769190B1 (en) | 2010-09-15 | 2014-07-01 | Western Digital Technologies, Inc. | System and method for reducing contentions in solid-state memory access |
JP5066241B2 (ja) | 2010-09-24 | 2012-11-07 | 株式会社東芝 | メモリシステム |
US8954948B2 (en) | 2011-06-17 | 2015-02-10 | Bae Systems Controls Inc. | Obsolescence tolerant flash memory architecture and physical building block (PBB) implementation |
US9116620B2 (en) | 2011-12-30 | 2015-08-25 | Sandisk Technologies Inc. | Controller and method for memory aliasing for different flash memory types |
US9032177B2 (en) | 2012-12-04 | 2015-05-12 | HGST Netherlands B.V. | Host read command return reordering based on time estimation of flash read command completion |
KR20140082173A (ko) | 2012-12-24 | 2014-07-02 | 에스케이하이닉스 주식회사 | 어드레스 카운팅 회로 및 이를 이용한 반도체 장치 |
US9495101B2 (en) | 2014-01-29 | 2016-11-15 | Sandisk Technologies Llc | Methods for balancing write operations of SLC blocks in different memory areas and apparatus implementing the same |
US9524799B2 (en) * | 2014-12-30 | 2016-12-20 | Sandisk Technologies Llc | Method and apparatus to tune a toggle mode interface |
US9626106B2 (en) | 2015-01-13 | 2017-04-18 | Sandisk Technologies Llc | System and method for memory command queue management and configurable memory status checking |
US9715939B2 (en) | 2015-08-10 | 2017-07-25 | Sandisk Technologies Llc | Low read data storage management |
US9818458B1 (en) | 2015-09-23 | 2017-11-14 | Intel Corporation | Techniques for entry to a lower power state for a memory device |
US9996486B2 (en) | 2015-10-28 | 2018-06-12 | Sandisk Technologies Llc | Data transfer rate adjustment |
US9857978B1 (en) | 2017-03-09 | 2018-01-02 | Toshiba Memory Corporation | Optimization of memory refresh rates using estimation of die temperature |
US10014056B1 (en) | 2017-05-18 | 2018-07-03 | Sandisk Technologies Llc | Changing storage parameters |
-
2020
- 2020-02-24 US US16/798,590 patent/US10971215B1/en active Active
- 2020-06-18 CN CN202010558014.0A patent/CN113296688B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1455897A (zh) * | 2000-08-17 | 2003-11-12 | 三因迪斯克公司 | 与主机串行通信的多个可拆卸非易失性存储卡 |
CN101079322A (zh) * | 2006-03-31 | 2007-11-28 | 三星电子株式会社 | 多位存储装置和存储系统 |
JP2008003820A (ja) * | 2006-06-22 | 2008-01-10 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置及びアダプタ装置 |
WO2008093606A1 (ja) * | 2007-01-30 | 2008-08-07 | Panasonic Corporation | 不揮発性記憶装置、不揮発性記憶システム、及びアクセス装置 |
CN105339910A (zh) * | 2013-06-26 | 2016-02-17 | 西部数据技术公司 | 在混合驱动器中的虚拟nand容量扩展 |
CN108269601A (zh) * | 2016-12-30 | 2018-07-10 | 西部数据技术公司 | 非易失性存储器中的处理器 |
Also Published As
Publication number | Publication date |
---|---|
CN113296688A (zh) | 2021-08-24 |
US10971215B1 (en) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113296688B (zh) | 非易失性存储器裸片接口的数据传送速度的动态调整 | |
US20150113207A1 (en) | Operating method of data storage device | |
KR20170105760A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US9998151B2 (en) | Data storage device and operating method thereof | |
US20200218653A1 (en) | Controller, data storage device, and operating method thereof | |
CN111916140B (zh) | 控制器及其操作方法以及包括控制器的存储器系统 | |
US11494118B2 (en) | Storage device and operating method thereof | |
US11269397B2 (en) | Power configuration component including selectable configuration profiles corresponding to operating power characteristics of the power configuration component | |
US11809721B2 (en) | Memory sub-system temperature regulation by modifying a data parameter | |
US20190057745A1 (en) | Data storage device and method of operating the same | |
WO2022198488A1 (en) | Multi-mode compatible zq calibration circuit in memory device | |
US9324444B2 (en) | Data storage device | |
US20230127204A1 (en) | Controller of memory system and operating method thereof | |
CN110047553B (zh) | 数据处理系统及其操作方法 | |
CN110456981B (zh) | 存储器系统、存储器系统的操作方法以及电子装置 | |
US9524757B2 (en) | Data storage device capable of reducing power consumption | |
KR20210006556A (ko) | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 | |
CN107301872B (zh) | 半导体存储器装置的操作方法 | |
CN107545918B (zh) | 存储器控制电路单元与存储装置及参考电压产生方法 | |
US20210397558A1 (en) | Storage device and operating method thereof | |
US11429612B2 (en) | Address search circuit and method of semiconductor memory apparatus and controller therefor | |
US20210263670A1 (en) | Memory system | |
US11422708B2 (en) | Memory interface, data storage device including the same and operating method thereof | |
US11194512B2 (en) | Data storage device which selectively performs a cache read or a normal read operation depending on work load and operating method thereof | |
KR20220032816A (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 | ||
GR01 | Patent grant |