CN101789259B - Hierarchical and hierarchical data processing method and device applied to flash memory - Google Patents
Hierarchical and hierarchical data processing method and device applied to flash memory Download PDFInfo
- Publication number
- CN101789259B CN101789259B CN 200910003390 CN200910003390A CN101789259B CN 101789259 B CN101789259 B CN 101789259B CN 200910003390 CN200910003390 CN 200910003390 CN 200910003390 A CN200910003390 A CN 200910003390A CN 101789259 B CN101789259 B CN 101789259B
- Authority
- CN
- China
- Prior art keywords
- data
- flash memory
- segment
- classified
- level
- 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 253
- 238000003672 processing method Methods 0.000 title description 2
- 238000012545 processing Methods 0.000 claims abstract description 226
- 238000013519 translation Methods 0.000 claims abstract description 162
- 238000000034 method Methods 0.000 claims abstract description 64
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 230000000717 retained effect Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 2
- 102100030154 CDC42 small effector protein 1 Human genes 0.000 description 10
- 101000794295 Homo sapiens CDC42 small effector protein 1 Proteins 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 102100030155 CDC42 small effector protein 2 Human genes 0.000 description 2
- 101000794294 Homo sapiens CDC42 small effector protein 2 Proteins 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000035939 shock Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 101150115013 DSP1 gene Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Landscapes
- Memory System (AREA)
Abstract
Description
技术领域 technical field
本发明涉及一种应用于快闪存储器处理数据的方法及相关快闪存储器装置,更明确地说,涉及一种应用于快闪存储器的阶层化分层处理数据的方法及相关快闪存储器装置。The present invention relates to a method for processing data applied to a flash memory and a related flash memory device, more specifically, to a method for hierarchically and hierarchically processing data applied to a flash memory and a related flash memory device.
背景技术 Background technique
快闪存储器(Flash memory)是一种非易失性固态存储存储器(Non-violate solid state memory)。快闪存储器相较于传统的非易失性固态存储存储器,具有单位存储成本低、读写速度快的优点。另一方面,快闪存储器相较于硬盘而言,有较佳的抗震性。也就是说,存储的数据较不会因震动而损坏。由于快闪存储器具有以上特性,因此常被应用在可携式装置(如数字随身听、数字相机、手机、存储卡以及USB随身盘等)里面作为存储介质。Flash memory (Flash memory) is a non-volatile solid state memory (Non-violate solid state memory). Compared with traditional non-volatile solid-state storage memory, flash memory has the advantages of low unit storage cost and fast read and write speed. On the other hand, flash memory has better shock resistance than hard disk. That is, stored data is less likely to be damaged by shock. Because flash memory has the above characteristics, it is often used as a storage medium in portable devices (such as digital players, digital cameras, mobile phones, memory cards, and USB flash drives, etc.).
快闪存储器有很多不同的类型,比如说单阶存储单元(Single LevelCell,SLC)小已分类单独区块(small block)快闪存储器、单阶存储单元大已分类单独区块(large block)快闪存储器,以及多阶存储单元(Multi-Level Cell,MLC)大已分类单独区块(large block)快闪存储器...等。快闪存储器有很多不同的制造厂商,比如说Samsung、Hynix及Toshiba...等。不同类型的快闪存储器或不同制造厂商的快闪存储器具有不同的结构与不同的控制方法。举例而言,SLC小已分类单独区块快闪存储器的每一已分类单独区块包含32个已分类区块分页(page);每一已分类区块分页包含528字节(byte),其中前512字节为数据区(data area),而后16字节为保留区(spare area)。SLC大已分类单独区块快闪存储器的每一已分类单独区块包含64个已分类区块分页;每一已分类区块分页包含2112字节,其中前2048字节为数据区,而后64字节为保留区。There are many different types of flash memory, such as single-level storage unit (Single Level Cell, SLC) small classified single block (small block) flash memory, single-level storage unit large classified single block (large block) flash memory Flash memory, and multi-level cell (Multi-Level Cell, MLC) large block flash memory...etc. There are many different manufacturers of flash memory, such as Samsung, Hynix and Toshiba...etc. Different types of flash memories or flash memories of different manufacturers have different structures and different control methods. For example, each classified individual block of the SLC small classified individual block flash memory includes 32 classified block pages (page); each classified block page includes 528 bytes (byte), wherein The first 512 bytes are the data area, and the last 16 bytes are the spare area. Each classified individual block of the SLC large classified individual block flash memory includes 64 classified block pages; each classified block page contains 2112 bytes, of which the first 2048 bytes are the data area, and then 64 Bytes are reserved.
请参考图1。图1为说明先前技术的快闪存储器转译层(Flash TranslationLayer)FTL的示意图。快闪存储器转译层FTL介于一主控端H与一快闪存储器MF1之间。Please refer to Figure 1. FIG. 1 is a schematic diagram illustrating a prior art flash translation layer (Flash Translation Layer) FTL. The flash memory translation layer FTL is between a host H and a flash memory MF1 .
快闪存储器MF1包含(M×N)个已分类单独区块BL11~BLMN。快闪存储器转译层FTL用以接收或回应来自主控端H的要求,而对快闪存储器MF1进行数据处理动作。此外,主控端H可为一用户端应用程序及/或文件系统。The flash memory MF1 includes (M×N) classified individual blocks BL 11 ˜BL MN . The flash memory translation layer FTL is used for receiving or responding to the request from the host H to perform data processing on the flash memory MF1 . In addition, the host H can be a client application program and/or a file system.
快闪存储器转译层FTL读取快闪存储器MF1的硬件架构信息DSPEC。更明确地说,快闪存储器转译层FTL读取快闪存储器MF1的型号IDFLASH以获得有关快闪存储器MF1的类型(如SLC大已分类单独区块)、制造厂商(如Samsung)、结构(如已分类单独区块数量)、容量、控制方法...等的硬件架构信息DSPEC。快闪存储器转译层FTL,根据硬件架构信息DSPEC所描述的快闪存储器MF1的结构,以转换逻辑地址(Logic Address,LA)为一对应于快闪存储器MF1的一实体存储单元的实体地址(Physical Address,PA)。然后,快闪存储器转译层FTL根据所接收的硬件架构信息DSPEC,找到对应于快闪存储器MF1的控制方法,以控制快闪存储器MF1来进行数据处理动作。如此一来,主控端H便可通过快闪存储器转译层FTL,要求快闪存储器MF1,进行数据处理动作。举例来说,当主控端H对快闪存储器MF1发出数据处理动作的要求时且传送逻辑地址为「P」(表一数值)至快闪存储器转译层FTL时,快闪存储器转译层FTL会转译逻辑地址「P」为实体地址「X」,而要求快闪存储器MF1中的已分类独立区块BLX,进行数据处理的动作。The flash memory translation layer FTL reads the hardware architecture information D SPEC of the flash memory M F1 . More specifically, the flash memory translation layer FTL reads the model ID FLASH of the flash memory MF1 to obtain information about the type of the flash memory MF1 (such as SLC or separate block), the manufacturer (such as Samsung), Hardware architecture information D SPEC of structure (such as the number of classified individual blocks), capacity, control method, etc. The flash memory translation layer FTL, according to the structure of the flash memory MF1 described in the hardware architecture information D SPEC , converts the logical address (Logic Address, LA) into an entity corresponding to a physical storage unit of the flash memory MF1 Address (Physical Address, PA). Then, the flash memory translation layer FTL finds a control method corresponding to the flash memory M F1 according to the received hardware architecture information D SPEC , so as to control the flash memory M F1 to perform data processing actions. In this way, the host H can request the flash memory MF1 to perform data processing through the flash memory translation layer FTL. For example, when the host H issues a data processing action request to the flash memory MF1 and transmits the logical address "P" (value in Table 1) to the flash memory translation layer FTL, the flash memory translation layer FTL It will translate the logical address "P" into the physical address "X", and request the classified independent block BL X in the flash memory MF1 to perform data processing.
值得注意的是,由于快闪存储器转译层FTL需直接控制快闪存储器MF1,因此,快闪存储器转译层FTL,需根据快闪存储器MF1的控制方法与结构来设计。然而,不同制造厂商的快闪存储器或不同类型的快闪存储器具有不同的控制方法与结构。因此,每当快闪存储器MF1(如Samsung生产的快闪存储器)更换为另一新型快闪存储器MF2(如Toshiba生产的快闪存储器)时,快闪存储器转译层FTL,就需要根据新型快闪存储器MF2的控制方法与结构,来重新设计。如此一来,便会造成使用者极大的不便。It should be noted that since the flash memory translation layer FTL needs to directly control the flash memory M F1 , the flash memory translation layer FTL needs to be designed according to the control method and structure of the flash memory M F1 . However, flash memories from different manufacturers or different types of flash memories have different control methods and structures. Therefore, whenever the flash memory MF1 (such as the flash memory produced by Samsung) is replaced with another new type of flash memory MF2 (such as the flash memory produced by Toshiba), the flash memory translation layer FTL needs to be based on the new type The control method and structure of the flash memory MF2 are redesigned. As a result, great inconvenience will be caused to the user.
发明内容 Contents of the invention
本发明提供一种应用于一快闪存储器的阶层化分层处理数据的方法。该方法包含将一逻辑地址传送至一高阶转译层以要求在该快闪存储器中进行一数据处理动作、由一低阶处理层取得属于该快闪存储器的一硬件架构信息以将该硬件架构信息传送至该高阶转译层、由该高阶转译层根据该硬件架构信息,在该快闪存储器中,设置一组对应至该逻辑地址的实体存储单元、由该高阶转译层根据该硬件架构信息,找出在该组对应至该逻辑地址的实体存储单元中,有一可供进行数据处理动作的实体存储单元、由该高阶转译层根据该硬件架构信息,决定一数据处理流程,以将该逻辑地址转换为对应至该可供进行数据处理动作的实体存储单元的一实体地址,以及由该低阶处理层根据由该高阶转译层传送的该实体地址,在该可供进行数据处理动作的实体存储单元中,进行该数据处理动作。该高阶转译层用以令一用户端应用程序及一文件系统可在该快闪存储器内进行数据处理,以及负责搜集该快闪存储器使用状态的相关信息以管理该快闪存储器。该低阶处理层根据该实体地址内的一第一段地址数据得知一组已分类区块、该低阶处理层根据该实体地址内的一第二段地址数据得知一已分类单独区块、该低阶处理层根据该实体地址内的一第三段地址数据得知一已分类区块分页、该低阶处理层根据该实体地址内的一第四段地址数据得知一已分类区块通道。The invention provides a hierarchical and hierarchical data processing method applied to a flash memory. The method includes sending a logical address to a high-level translation layer to request a data processing operation in the flash memory, obtaining a hardware configuration information belonging to the flash memory from a low-level processing layer to configure the hardware The information is sent to the high-level translation layer, and the high-level translation layer is based on the hardware architecture information. In the flash memory, a group of physical storage units corresponding to the logical address is set, and the high-level translation layer is based on the hardware. Architecture information, find out in the group of physical storage units corresponding to the logical address, there is a physical storage unit that can perform data processing operations, and the high-level translation layer determines a data processing flow according to the hardware architecture information, so as to Converting the logical address into a physical address corresponding to the physical storage unit available for data processing, and the low-level processing layer according to the physical address transmitted by the high-level translation layer, in the available data processing In the physical storage unit of the processing operation, the data processing operation is performed. The high-level translation layer is used to enable a client application program and a file system to process data in the flash memory, and is responsible for collecting relevant information of the use status of the flash memory to manage the flash memory. The low-level processing layer obtains a group of classified blocks according to a first segment address data in the physical address, and the low-level processing layer obtains a classified separate area according to a second segment address data in the physical address block, the low-level processing layer obtains a classified block paging according to a third segment address data in the physical address, and the low-level processing layer obtains a classified block page according to a fourth segment address data in the physical address block channel.
本发明另提供一种应用于一快闪存储器的阶层化分层处理数据的方法。该方法包含将一逻辑地址传送至一高阶转译层以要求在该快闪存储器中进行一数据处理动作、由一快闪架构处理层取得属于该快闪存储器的一硬件架构信息以将该硬件架构信息传送至该高阶转译层、由该高阶转译层根据该硬件架构信息,在该快闪存储器中,设置一组对应至该逻辑地址的实体存储单元、由该高阶转译层根据该硬件架构信息,找出在该组对应至该逻辑地址的实体存储单元中,有一可供进行数据处理动作的实体存储单元、由该高阶转译层根据该硬件架构信息,决定一数据处理流程以将该逻辑地址转换为对应至该可供进行数据处理动作的实体存储单元的一实体地址,以及由该快闪架构处理层根据由该高阶转译层传送的该实体地址,在该可供进行数据处理动作的实体存储单元中,进行该数据处理动作。该高阶转译层用以令一用户端应用程序及一文件系统可在该快闪存储器内进行数据处理,以及负责搜集该快闪存储器使用状态的相关信息以管理该快闪存储器。该快闪架构处理层根据该实体地址内的一第一段地址数据得知一组已分类区块、该快闪架构处理层根据该实体地址内的一第二段地址数据得知一已分类单独区块、该快闪架构处理层根据该实体地址内的一第三段地址数据得知一已分类区块分页、该快闪架构处理层根据该实体地址内的一第四段地址数据得知一已分类分页区段、该快闪架构处理层根据该实体地址内的一第五段地址数据得知一已分类区块通道。The present invention further provides a method for hierarchically and hierarchically processing data applied to a flash memory. The method includes sending a logical address to a high-level translation layer to request a data processing operation in the flash memory, obtaining a hardware architecture information belonging to the flash memory from a flash architecture processing layer to use the hardware The architecture information is sent to the high-level translation layer. According to the hardware architecture information, the high-level translation layer sets a group of physical storage units corresponding to the logical address in the flash memory. The high-level translation layer according to the Hardware architecture information, find out that among the group of physical storage units corresponding to the logical address, there is a physical storage unit that can perform data processing operations, and the high-level translation layer determines a data processing flow according to the hardware architecture information. converting the logical address into a physical address corresponding to the physical storage unit available for data processing, and the processing layer of the flash architecture according to the physical address sent by the high-level translation layer in the available physical address In the physical storage unit of the data processing operation, the data processing operation is performed. The high-level translation layer is used to enable a client application program and a file system to process data in the flash memory, and is responsible for collecting relevant information of the use status of the flash memory to manage the flash memory. The flash architecture processing layer obtains a group of classified blocks according to a first segment address data in the physical address, and the flash architecture processing layer obtains a classified block according to a second segment address data in the physical address Separate blocks, the flash architecture processing layer obtains a classified block page according to a third segment address data in the physical address, and the flash architecture processing layer obtains a classified block page according to a fourth segment address data in the physical address Knowing a classified paging segment, the flash architecture processing layer obtains a classified block channel according to a fifth segment address data in the physical address.
本发明另提供一种使用阶层化分层处理数据的快闪存储器装置。该快闪存储器装置包含一快闪存储器,由多个已分类单独区块组成、一命令及逻辑地址转换电路,以及一执行命令及实体地址定址电路。该命令及逻辑地址转换电路用以令一高阶转译层接收一逻辑地址及一在该快闪存储器中进行一数据处理动作的要求,命令一低阶处理层取得属于该快闪存储器的一硬件架构信息以将该硬件架构信息传送至该高阶转译层,且令该高阶转译层根据该硬件架构信息,在该多个已分类单独区块中,设置一组对应至该逻辑地址的实体存储单元,找出在该组对应至该逻辑地址的实体存储单元中,有一可供进行数据处理动作的实体存储单元,并决定一数据处理流程以将该逻辑地址转换为对应至该可供进行数据处理动作的实体存储单元的一实体地址。该执行命令及实体地址定址电路用以令该低阶处理层根据由该高阶转译层传送的该实体地址,在该可供进行数据处理动作的实体存储单元中,进行该数据处理动作。该高阶转译层用以令一用户端应用程序及一文件系统可在该快闪存储器内进行数据处理,以及负责搜集该快闪存储器使用状态的相关信息以管理该快闪存储器。该低阶处理层根据该实体地址内的一第一段地址数据得知一组已分类区块、该低阶处理层根据该实体地址内的一第二段地址数据得知一已分类单独区块、该低阶处理层根据该实体地址内的一第三段地址数据得知一已分类区块分页、该低阶处理层根据该实体地址内的一第四段地址数据得知一已分类区块通道。The present invention further provides a flash memory device for processing data in layers. The flash memory device includes a flash memory, which is composed of a plurality of classified individual blocks, a command and logical address conversion circuit, and an execution command and physical address addressing circuit. The command and logical address conversion circuit is used to make a high-level translation layer receive a logical address and a request to perform a data processing operation in the flash memory, and order a low-level processing layer to obtain a hardware belonging to the flash memory architecture information to transmit the hardware architecture information to the high-level translation layer, and make the high-level translation layer set a group of entities corresponding to the logical address in the plurality of classified individual blocks according to the hardware architecture information The storage unit finds out a physical storage unit available for data processing in the group of physical storage units corresponding to the logical address, and determines a data processing flow to convert the logical address into the available physical storage unit corresponding to the logical address A physical address of the physical storage unit of the data processing action. The execution command and physical address addressing circuit is used to make the low-level processing layer perform the data processing operation in the physical storage unit available for data processing according to the physical address transmitted by the high-level translation layer. The high-level translation layer is used to enable a client application program and a file system to process data in the flash memory, and is responsible for collecting relevant information of the use status of the flash memory to manage the flash memory. The low-level processing layer obtains a group of classified blocks according to a first segment address data in the physical address, and the low-level processing layer obtains a classified separate area according to a second segment address data in the physical address block, the low-level processing layer obtains a classified block paging according to a third segment address data in the physical address, and the low-level processing layer obtains a classified block page according to a fourth segment address data in the physical address block channel.
附图说明 Description of drawings
图1为说明先前技术的快闪存储器转译层的示意图。FIG. 1 is a schematic diagram illustrating a prior art flash memory translation layer.
图2为说明本发明应用于快闪存储器的阶层化分层处理数据的示意图。FIG. 2 is a schematic diagram illustrating the application of the present invention to process data hierarchically and hierarchically in a flash memory.
图3为说明本发明应用于一快闪存储器的阶层化分层处理数据的方法的流程图。FIG. 3 is a flowchart illustrating a method for hierarchically processing data applied to a flash memory according to the present invention.
图4为说明高阶转译层根据逻辑地址、保留信息,以及查询表找出实际上可供数据处理的实体存储单元的示意图。FIG. 4 is a schematic diagram illustrating that the high-level translation layer finds the actual physical storage unit for data processing according to the logical address, reserved information, and look-up table.
图5为说明本发明的数据处理流程的一第一实施例的流程图。FIG. 5 is a flowchart illustrating a first embodiment of the data processing procedure of the present invention.
图6为说明本发明的数据处理流程的一第二实施例的流程图。FIG. 6 is a flowchart illustrating a second embodiment of the data processing procedure of the present invention.
图7为说明本发明的数据处理流程的一第三实施例的流程图。FIG. 7 is a flowchart illustrating a third embodiment of the data processing procedure of the present invention.
图8为本发明的使用阶层化分层处理数据的快闪存储器装置的示意图。FIG. 8 is a schematic diagram of a flash memory device using hierarchical data processing according to the present invention.
【主要元件符号说明】[Description of main component symbols]
H 主控端H master control terminal
FTL 快闪存储器转译层FTL Flash Translation Layer
MF、MF1 快闪存储器M F , M F1 flash memory
BL11~BLMN 已分类单独区块BL 11 ~ BL MN has been classified as a separate block
HTL 高阶转译层HTL High-level translation layer
LAL 低阶处理层LAL Low Level Processing Layer
CH1~CHM 已分类区块通道CH 1 ~ CH M classified block channels
BK1~BKN 组已分类区块BK 1 ~ BK N group of classified blocks
PG0、PG1、PG2、PG3、PG4、PG 0 , PG 1 , PG 2 , PG 3 , PG 4 ,
已分类区块分页
PGY PG Y
STZ 已分类分页区段ST Z sorted paged section
P 逻辑地址P Logical address
X 实体地址X Physical address
TB 查询表T B query table
DSP 保留信息 DSP retains information
301~309、501~505、301~309, 501~505,
步骤Steps
601~605、701~705601~605, 701~705
800 快闪存储器装置800 Flash memory devices
810 命令及逻辑地址转换电路810 Command and Logical Address Conversion Circuit
811 逻辑判断电路811 Logic judgment circuit
执行命令及实体地址定址Executing commands and addressing physical addresses
820820
电路Circuit
具体实施方式 Detailed ways
有鉴于此,本发明是将快闪存储器转译层FTL分隔为高阶转译层(High-level Translation Layer,HTL)与低阶处理层(Low-level AbstractionLayer,LAL),以解决当原本所使用的快闪存储器MF1更换为另一新型快闪存储器MF2时,整个快闪存储器转译层FTL都需要重新设计的困扰。其中,低阶处理层LAL可为快闪架构处理层(Flash Abstraction Layer)FAL;而高阶转译层HTL可为快闪架构转译层(Flash Translation Layer,FTL)。In view of this, the present invention separates the flash memory translation layer FTL into a high-level translation layer (High-level Translation Layer, HTL) and a low-level processing layer (Low-level Abstraction Layer, LAL), in order to solve the original problem When the flash memory MF1 is replaced with another new type of flash memory MF2 , the entire flash memory translation layer FTL needs to be redesigned. Wherein, the low-level processing layer LAL may be a flash abstraction layer (Flash Abstraction Layer) FAL; and the high-level translation layer HTL may be a flash translation layer (Flash Translation Layer, FTL).
请参考图2。图2为说明本发明应用于快闪存储器的阶层化分层处理数据的示意图。如图2所示,高阶转译层HTL介于主控端H与低阶处理层LAL之间;低阶处理层LAL介于高阶转译层HTL与快闪存储器MF之间。高阶转译层HTL的设计与快闪存储器MF的控制方法无关;低阶处理层LAL的设计则必须根据快闪存储器MF的不同而更动。在图2中,CH表示已分类区块通道(channel)、BK表示一组已分类区块(bank)、BL表示已分类单独区块(block)、PG表示已分类区块分页(page)、ST表示已分类分页区段(sector)。Please refer to Figure 2. FIG. 2 is a schematic diagram illustrating the application of the present invention to process data hierarchically and hierarchically in a flash memory. As shown in FIG. 2 , the high-level translation layer HTL is between the host H and the low-level processing layer LAL; the low-level processing layer LAL is between the high-level translation layer HTL and the flash memory MF . The design of the high-level translation layer HTL has nothing to do with the control method of the flash memory MF ; the design of the low-level processing layer LAL must be changed according to the difference of the flash memory MF . In Figure 2, CH represents a classified block channel (channel), BK represents a group of classified blocks (bank), BL represents a classified individual block (block), PG represents a classified block page (page), ST represents a classified paging sector (sector).
高阶转译层FTL用以令主控端H(如一用户端应用程序或/及一文件系统)可在快闪存储器MF内进行数据处理、负责搜集快闪存储器MF使用状态的相关信息,以及管理快闪存储器MF。此外,高阶转译层FTL隔绝由主控端H发送的要求直接进入该低阶处理层LAL。The high-level translation layer FTL is used to enable the host control terminal H (such as a client application program or/and a file system) to perform data processing in the flash memory MF , and is responsible for collecting relevant information on the use status of the flash memory MF , and manage the flash memory MF . In addition, the high-level translation layer FTL isolates the request sent by the host H from directly entering the low-level processing layer LAL.
低阶处理层LAL介于高阶转译层HTL及快闪存储器MF之间,用以执行由高阶转译层HTL发送的命令,并将快闪存储器MF的硬件架构信息DSPEC及由快闪存储器MF取得的一保留信息DSP(spare data)回传至高阶转译层HTL。同样地,低阶处理层LAL可通过读取快闪存储器MF的型号IDFLASH以获得有关快闪存储器MF的类型(如SLC大已分类单独区块)、制造厂商(如Samsung)、结构(如已分类单独区块数量)、容量、控制方法...等的硬件架构信息DSPEC。此外,低阶处理层LAL隔绝高阶转译层HTL发送的命令直接进入快闪存储器MF。The low-level processing layer LAL is between the high-level translation layer HTL and the flash memory MF , and is used to execute the commands sent by the high-level translation layer HTL, and transfer the hardware structure information D SPEC of the flash memory MF and the A piece of reserved information D SP (spare data) obtained by the flash memory MF is sent back to the high-level translation layer HTL. Similarly, the low-level processing layer LAL can obtain the type (such as SLC or separate block), the manufacturer (such as Samsung), and the structure of the relevant flash memory MF by reading the model ID FLASH of the flash memory MF . (such as the number of classified individual blocks), capacity, control method, etc. hardware architecture information D SPEC . In addition, the low-level processing layer LAL isolates the commands sent by the high-level translation layer HTL from directly entering the flash memory MF .
如此一来,由于低阶处理层LAL隔绝了高阶转译层HTL与快闪存储器MF之间的直接沟通(意即低阶处理层LAL会根据高阶转译层HTL所发出的命令控制快闪存储器MF,而高阶转译层HTL所发出的命令并不能直接传达至快闪存储器MF),因此不论快闪存储器MF是更换为快闪存储器MF1或MF2,对于高阶转译层HTL皆不会有任何影响,而能够省除高阶转译层HTL因为快闪存储器MF的更换所造成的困扰。In this way, since the low-level processing layer LAL isolates the direct communication between the high-level translation layer HTL and the flash memory MF (that is, the low-level processing layer LAL will control the flash according to the commands issued by the high-level translation layer HTL memory MF , and the commands issued by the high-level translation layer HTL cannot be directly transmitted to the flash memory MF ), so no matter whether the flash memory MF is replaced with a flash memory MF1 or MF2 , for the high-level translation layer The HTL will not have any impact, and the trouble caused by the replacement of the flash memory MF in the high-level translation layer HTL can be saved.
请参考图3。图3为说明本发明应用于一快闪存储器的阶层化分层处理数据的方法300的流程图。步骤说明如下:Please refer to Figure 3. FIG. 3 is a flowchart illustrating a method 300 for hierarchically processing data in a flash memory according to the present invention. The steps are as follows:
步骤301:由高阶转译层HTL发出第一命令CMD1以指示低阶处理层LAL,取得属于快闪存储器MF1的硬件架构信息DSPEC1;Step 301: The high-level translation layer HTL issues a first command CMD 1 to instruct the low-level processing layer LAL to obtain the hardware architecture information D SPEC1 belonging to the flash memory MF1 ;
步骤302:由低阶处理层LAL,根据第一命令CMD1,取得属于快闪存储器MF1的硬件架构信息DSPEC1,并传送至高阶转译层HTL;Step 302: The low-level processing layer LAL obtains the hardware architecture information D SPEC1 belonging to the flash memory MF1 according to the first command CMD 1 , and sends it to the high-level translation layer HTL;
步骤303:由高阶转译层HTL发出第二命令CMD2以指示低阶处理层LAL,取得属于快闪存储器MF的保留信息DSP1;Step 303: The high-level translation layer HTL issues a second command CMD 2 to instruct the low-level processing layer LAL to obtain reserved information D SP1 belonging to the flash memory MF ;
步骤304:由低阶处理层LAL,根据第二命令CMD2,取得属于快闪存储器MF1的保留信息DSP1,并传送至高阶转译层HTL;Step 304: The low-level processing layer LAL obtains the reserved information D SP1 belonging to the flash memory MF1 according to the second command CMD 2 , and sends it to the high-level translation layer HTL;
步骤305:主控端H将一逻辑地址「P」,传送至高阶转译层HTL以要求在快闪存储器MF1中进行一数据处理动作;Step 305: The host H sends a logical address "P" to the high-level translation layer HTL to request a data processing operation in the flash memory M F1 ;
步骤306:由高阶转译层HTL根据硬件架构信息DSPEC1,在快闪存储器MF1中,设置一组对应至逻辑地址「P」的实体存储单元;Step 306: According to the hardware architecture information D SPEC1 , the high-level translation layer HTL sets a group of physical storage units corresponding to the logical address "P" in the flash memory MF1 ;
步骤307:由高阶转译层HTL根据保留信息DSP1,找出在该组对应至逻辑地址「P」的实体存储单元中,有一可供进行数据处理动作的实体存储单元;Step 307: According to the retained information DSP1 , the high-level translation layer HTL finds a physical storage unit for data processing among the group of physical storage units corresponding to the logical address “P”;
步骤308:由高阶转译层HTL根据硬件架构信息DSPEC1与保留信息DSP1,决定一数据处理流程DPS,以将逻辑地址「P」转换为对应至该可供进行数据处理动作的实体存储单元的一实体地址「X」;Step 308: The high-level translation layer HTL determines a data processing flow DPS according to the hardware architecture information D SPEC1 and reserved information D SP1 , so as to convert the logical address "P" into a physical storage unit corresponding to the data processing action a physical address "X"of;
步骤309:由低阶处理层LAL根据由高阶转译层HTL传送的实体地址「X」,在该可供进行数据处理动作的实体存储单元中,进行该数据处理动作。Step 309: The low-level processing layer LAL performs the data processing operation in the physical storage unit available for data processing according to the physical address "X" transmitted by the high-level translation layer HTL.
在方法300中,当一新型快闪存储器MF2取代快闪存储器MF1时,方法300会重新设置一新型低阶处理层LAL2取代原有的低阶处理层LAL(设原有的低阶处理层为LAL1),且由新型低阶处理层LAL2取得属于新型快闪存储器MF2的硬件架构信息DSPEC2与保留信息DSP以将硬件架构信息DSPEC2与保留信息DSP传送至高阶转译层HTL。换句话说,当一新型快闪存储器MF2取代原有的快闪存储器MF1时,步骤301~308便会再重新进行一次,以告知高阶转译层HTL需重新设定将逻辑地址转译成实体地址的方式。In the method 300, when a new type of flash memory MF2 replaces the flash memory MF1 , the method 300 will reset a new type of low-level processing layer LAL 2 to replace the original low-level processing layer LAL (assuming that the original low-level processing layer LAL The processing layer is LAL 1 ), and the new low-level processing layer LAL 2 obtains the hardware architecture information D SPEC2 and the reserved information D SP belonging to the new flash memory MF2 to transmit the hardware architecture information D SPEC2 and the reserved information D SP to the high-level Translation layer HTL. In other words, when a new type of flash memory MF2 replaces the original flash memory MF1 , steps 301-308 will be performed again to inform the high-level translation layer HTL that the logical address translation needs to be reset. into a physical address.
在步骤309中,低阶处理层LAL能够根据高阶转译层HTL所传送来的实体地址「X」,得知在快闪存储器MF1中实际上所对应的一已分类区块通道、一组已分类区块(Bank)、一已分类单独区块、一已分类区块分页,以及一已分类分页区段。换句话说,实体地址「X」可区分成五段为(x1,x2,x3,x4,x5)。第一段实体地址「x1」的数值代表实体上对应到快闪存储器MF1中所分配的一已分类区块通道;第二段实体地址「x2」的数值代表实体上对应到快闪存储器MF1中所分配的一组已分类区块;第三段实体地址「x3」的数值代表实体上对应到快闪存储器MF1中所分配的一已分类单独区块;第四段实体地址「x4」的数值代表实体上对应到快闪存储器MF1中所分配的一已分类区块分页;第五段实体地址「x5」的数值代表实体上对应到快闪存储器MF1中所分配的一已分类分页区段。举例来说,如果实体地址X为(1,1,1,1,1),则表示在实体上可供进行数据处理动作的实体存储单元系位于快闪存储器MF1的已分类区块通道CH1中的一组已分类区块BK1中的已分类单独区块BL1中的已分类区块分页PG1中的已分类分页区段ST1。In
此外,硬件架构信息DSPEC1提供可在快闪存储器MF1所规划行已分类区块通道、组已分类区块、已分类单独区块、已分类区块分页和已分类分页区段的信息。举例来说,硬件架构信息DSPEC1可为(10,10,10,64,4),则表示在快闪存储器MF1中,有10个已分类区块通道、每个已分类区块通道包含10组已分类区块、每组已分类区块包含10个已分类单独区块、每个已分类单独区块包含64个已分类区块分页、每个已分类区块分页包含4个已分类分页区段。另外,一般定义一个已分类分页区段的大小为512字节,因此不需要在硬件架构信息DSPEC1中提供。In addition, the hardware architecture information D SPEC1 provides information on sorted block channels, group sorted blocks, sorted individual blocks, sorted block pages, and sorted page sections that can be planned in the flash memory MF1 . For example, the hardware architecture information D SPEC1 can be (10, 10, 10, 64, 4), which means that in the flash memory MF1 , there are 10 classified block channels, and each classified block channel contains 10 groups of classified blocks, each group of classified blocks contains 10 classified individual blocks, each classified individual block contains 64 classified block pages, each classified block page contains 4 classified Paging section. In addition, the size of a classified paging segment is generally defined as 512 bytes, so it does not need to be provided in the hardware architecture information D SPEC1 .
因此,高阶转译层HTL便可根据硬件架构信息DSPEC1,将逻辑地址「P」转换成对应的实体地址「X」。如前所述,如果硬件架构信息DSPEC1为(10,10,10,64,4),举例逻辑地址「X」为[123456],则高阶转译层HTL可将[123456]除以25600(10×10×64×4,表示一个已分类区块通道的大小),得到4且余21056(表示实体地址x1为4);再将余数[21056]除以2560(10×64×4,表示一组已分类区块的大小),得到8且余576(表示实体地址x2为8);再将余数[576]除以256(64×4,表示一已分类单独区块的大小),得到2且余64(表示实体地址x3为2);再将余数[64]除以4(4,表示一已分类区块分页的大小),得到16且余0(表示实体地址x4为4而实体地址x5为余数0)。简单地说,当逻辑地址「P」为[123456]时,高阶转译层HTL根据硬件架构信息DSPEC1所转译出来的实体地址X为(4,8,2,16,0),其表示为快闪存储器MF1中第4个已分类区块通道CH4中的第8组已分类区块BK8中的第2个已分类单独区块BL2中的第16个已分类区块分页PG16中的第0个已分类分页区段ST0。Therefore, the high-level translation layer HTL can convert the logical address "P" into the corresponding physical address "X" according to the hardware architecture information D SPEC1 . As mentioned above, if the hardware architecture information D SPEC1 is (10, 10, 10, 64, 4), for example, the logical address "X" is [123456], then the high-level translation layer HTL can divide [123456] by 25600 ( 10×10×64×4, indicating the size of a classified block channel), get 4 and the remainder 21056 (indicating that the physical address x 1 is 4); then divide the remainder [21056] by 2560 (10×64×4, Indicates the size of a group of classified blocks), get 8 and remainder 576 (representing physical address x 2 is 8); then divide the remainder [576] by 256 (64×4, representing the size of a classified individual block) , get 2 and remainder 64 (meaning that physical address x 3 is 2); then divide the remainder [64] by 4 (4, representing the size of a classified block page), get 16 and remainder 0 (representing physical address x 4 is 4 and physical address x 5 is remainder 0). Simply put, when the logical address "P" is [123456], the physical address X translated by the high-level translation layer HTL according to the hardware architecture information D SPEC1 is (4, 8, 2, 16, 0), which is expressed as 4th sorted block channel CH 4 in flash memory M F1 8th group sorted block BK 8 2nd sorted individual block BL 2 16th sorted block page PG The 0th sorted paged segment ST 0 in 16 .
然而,在快闪存储器中,一有存储数据的已分类区块分页无法再被写入数据。更明确地说,如果要将数据写入至有存储数据的已分类区块分页,必须要先擦除该已分类区块分页所属的已分类单独区块。每次擦除(erase)数据的动作是以一个「已分类单独区块」作为单位。也就是说,每次擦除数据的动作至少要擦除一个已分类单独区块,而无法只擦除一个已分类区块分页或一个字节。是故,为了加速主控端H对于快闪存储器MF1所进行的数据处理动作,在高阶转译层HTL中,会设置一查询表(Look Up Table,LUT)TB,以选择对应到同一个逻辑地址的已分类单独区块中并未存储数据的实体存储单元,来进行数据处理的动作。更明确地说,在前述高阶转译层HTL转译逻辑地址「P」为实体地址「X」时,其所转译出的实体地址x3并不会直接对应到一个单一个已分类单独区块,而是对应到两个不同的已分类单独区块,然后再根据快闪存储器MF1所提供的保留信息DSP,选择其中的一可提供进行数据处理的已分类单独区块。其中保留信息DSP用来提供所欲处理的实体存储单元是否已经有存储数据以方便高阶转译层HTL选择未存储数据的实体存储单元。以下将更详细解释其运作原理。However, in the flash memory, a classified block page with stored data cannot be written into. More specifically, if data is to be written into a classified block page that stores data, the classified individual block to which the classified block page belongs must first be erased. Each action of erasing data is based on a "classified separate block" as a unit. That is to say, at least one classified separate block must be erased each time the data is erased, and it is impossible to erase only one classified block page or one byte. Therefore, in order to speed up the data processing action performed by the host H on the flash memory MF1 , a look-up table (Look Up Table, LUT) T B will be set in the high-level translation layer HTL to select the corresponding A physical storage unit that does not store data in a classified separate block of a logical address is used for data processing. More specifically, when the above-mentioned high-level translation layer HTL translates the logical address "P" into the physical address "X", the translated physical address x 3 does not directly correspond to a single classified individual block, Instead, it corresponds to two different classified individual blocks, and then selects one of them according to the reserved information D SP provided by the flash memory MF1 to provide a classified individual block for data processing. The reserved information D SP is used to provide whether the physical storage unit to be processed has stored data, so as to facilitate the high-level translation layer HTL to select a physical storage unit that does not store data. How this works is explained in more detail below.
请参考图4。图4为说明高阶转译层HTL根据逻辑地址、保留信息,以及查询表找出实际上可供数据处理的实体存储单元的示意图。同样举逻辑地址「P」为[123456]为例,可知实体地址x3为「2」。因此可从查询表TB中的第2栏查得对应于实体地址x3的已分类单独区块为已分类单独区块BL5与BL13。而实际上欲进行数据处理的实体存储单元位于第4个已分类区块分页中的第0个已分类分页区段。由保留信息DSP可知,在已分类单独区块BL5中的第4个已分类区块分页已有存储数据而在已分类单独区块BL13中的第4个已分类区块分页并未存储数据。因此,高阶转译层HTL便会选择已分类单独区块BL13作为实际上要进行数据处理的实体存储单元。更明确地说,逻辑地址[123456]经过高阶转译层HTL处理后,会对应到实体地址为(4,8,「13」,16,0)而不是原本的实体地址(4,8,「2」,16,0),亦非(4,8,「5」,16,0)。换句话说,实际上经由高阶转译层HTL所找出的实体存储单元系位于快闪存储器MF1中第4个已分类区块通道CH4中的第8组已分类区块BK8中的第13个已分类单独区块BL13中的第16个已分类区块分页PG16中的第0个已分类分页区段ST0。Please refer to Figure 4. FIG. 4 is a schematic diagram illustrating that the high-level translation layer HTL finds the actual physical storage unit for data processing according to the logical address, reserved information, and look-up table. Similarly, taking the logical address "P" as [123456] as an example, it can be seen that the physical address x 3 is "2". Therefore, it can be found from the second column in the look-up table TB that the classified individual blocks corresponding to the physical address x 3 are classified individual blocks BL 5 and BL 13 . In fact, the physical storage unit to be processed is located in the 0th sorted page segment in the 4th sorted block page. It can be seen from the reserved information D SP that the fourth classified block page in the classified individual block BL 5 has stored data and the fourth classified block page in the classified individual block BL 13 has not. Storing data. Therefore, the high-level translation layer HTL selects the classified individual block BL 13 as the physical storage unit for actually performing data processing. More specifically, after the logical address [123456] is processed by the high-level translation layer HTL, it will correspond to the physical address (4, 8, "13", 16, 0) instead of the original physical address (4, 8, "2", 16, 0), nor (4, 8, "5", 16, 0). In other words, actually the physical storage unit found through the high-level translation layer HTL is located in the 8th group of classified blocks BK 8 in the 4th classified block channel CH 4 in the flash memory MF1 The 0th sorted page sector ST 0 in the 16th sorted block page PG 16 in the 13th sorted individual block BL 13 .
在步骤308中,数据处理流程DPS用来决定低阶处理层LAL取得实体地址「X」中的第一段实体地址(x1)、第二段实体地址(x2)、第三段实体地址(x3)、第四段实体地址(x4)以及第五段实体地址(x5)的顺序。In
请参考图5。图5为说明本发明的数据处理流程DPS的一第一实施例的流程图。步骤说明如下:Please refer to Figure 5. FIG. 5 is a flowchart illustrating a first embodiment of the data processing procedure DPS of the present invention. The steps are as follows:
步骤501:令低阶处理层LAL取得第二段实体地址(x2),得知在快闪存储器MF1中,存在对应的一组已分类区块,而可对数据进行处理动作;Step 501: Make the low-level processing layer LAL obtain the second physical address (x 2 ), know that in the flash memory MF1 , there is a group of corresponding classified blocks, and the data can be processed;
步骤502:在取得该第二段实体地址之后,取得第三段实体地址(x3),得知在快闪存储器MF1中,存在对应的一已分类单独区块,可对数据进行处理动作;Step 502: After obtaining the second segment physical address, obtain the third segment physical address (x 3 ), know that there is a corresponding classified separate block in the flash memory MF1 , and the data can be processed ;
步骤503:在取得该第三段实体地址之后,取得第四段实体地址(x4),得知在快闪存储器MF1中,存在对应的一已分类区块分页,可对数据进行处理动作;Step 503: After obtaining the third segment physical address, obtain the fourth segment physical address (x 4 ), know that in the flash memory MF1 , there is a corresponding classified block page, and the data can be processed ;
步骤504:在取得该第四段实体地址之后,取得第五段实体地址(x5),得知在快闪存储器MF1中,存在对应的一已分类分页区段,可对数据进行处理动作;Step 504: After obtaining the fourth segment physical address, obtain the fifth segment physical address (x 5 ), know that there is a corresponding classified paging segment in the flash memory MF1 , and the data can be processed ;
步骤505:在取得该第五段实体地址之后,取得第一段实体地址(x1),最后得知在快闪存储器MF1中,存在对应的一已分类区块通道,可对数据进行处理动作。Step 505: After obtaining the fifth segment physical address, obtain the first segment physical address (x 1 ), and finally know that there is a corresponding classified block channel in the flash memory MF1 , and the data can be processed action.
请参考图6。图6为说明本发明的数据处理流程DPS的一第二实施例的流程图。步骤说明如下:Please refer to Figure 6. FIG. 6 is a flowchart illustrating a second embodiment of the data processing procedure DPS of the present invention. The steps are as follows:
步骤601:令低阶处理层LAL取得第一段实体地址(x1),得知在快闪存储器MF1中,存在对应的一已分类区块通道,而可对数据进行处理动作;Step 601: Make the low-level processing layer LAL obtain the first physical address (x 1 ), know that there is a corresponding classified block channel in the flash memory MF1 , and perform data processing;
步骤602:在取得该第一段实体地址之后,取得第三段实体地址(x3),得知在快闪存储器MF1中,存在对应的一已分类单独区块,可对数据进行处理动作;Step 602: After obtaining the first physical address, obtain the third physical address (x 3 ), and know that there is a corresponding classified separate block in the flash memory MF1 , and the data can be processed ;
步骤603:在取得该第三段实体地址之后,取得第四段实体地址(x4),得知在快闪存储器MF1中,存在对应的一已分类区块分页,可对数据进行处理动作;Step 603: After obtaining the third segment physical address, obtain the fourth segment physical address (x 4 ), know that there is a corresponding classified block page in the flash memory MF1 , and the data can be processed ;
步骤604:在取得该第四段实体地址之后,取得第五段实体地址(x5),得知在快闪存储器MF1中,存在对应的一已分类分页区段,可对数据进行处理动作;Step 604: After obtaining the fourth segment physical address, obtain the fifth segment physical address (x 5 ), know that there is a corresponding classified paging segment in the flash memory MF1 , and the data can be processed ;
步骤605:在取得该第五段实体地址之后,取得第二段实体地址(x2),最后得知在快闪存储器MF1中,存在对应的一组已分类区块,可对数据进行处理动作。Step 605: After obtaining the fifth segment physical address, obtain the second segment physical address (x 2 ), and finally know that there is a group of corresponding classified blocks in the flash memory MF1 , and the data can be processed action.
请参考图7。图7为说明本发明的数据处理流程DPS的一第三实施例的流程图。步骤说明如下:Please refer to Figure 7. FIG. 7 is a flowchart illustrating a third embodiment of the data processing procedure DPS of the present invention. The steps are as follows:
步骤701:令低阶处理层LAL取得第三段实体地址(x3),得知在快闪存储器MF1中,存在对应的一已分类单独区块,而可对数据进行处理动作;Step 701: Make the low-level processing layer LAL obtain the third physical address (x 3 ), know that in the flash memory MF1 , there is a corresponding classified individual block, and the data can be processed;
步骤702:在取得该第三段实体地址之后,取得第二段实体地址(x2),得知在快闪存储器MF1中,存在对应的一组已分类区块,可对数据进行处理动作;Step 702: After obtaining the third segment physical address, obtain the second segment physical address (x 2 ), know that there is a group of corresponding classified blocks in the flash memory MF1 , and the data can be processed ;
步骤703:在取得该第二段实体地址之后,取得第四段实体地址(x4),得知在快闪存储器MF1中,存在对应的一已分类区块分页,可对数据进行处理动作;Step 703: After obtaining the second segment physical address, obtain the fourth segment physical address (x 4 ), know that there is a corresponding classified block page in the flash memory MF1 , and the data can be processed ;
步骤704:在取得该第四段实体地址之后,取得第五段实体地址(x5),得知在快闪存储器MF1中,存在对应的一已分类分页区段,可对数据进行处理动作;Step 704: After obtaining the fourth segment physical address, obtain the fifth segment physical address (x 5 ), know that there is a corresponding classified paging segment in the flash memory MF1 , and the data can be processed ;
步骤705:在取得该第五段实体地址之后,取得第一段实体地址(x1),最后得知在快闪存储器MF1中,存在对应的一组已分类区块通道,可对数据进行处理动作。Step 705: After obtaining the fifth segment physical address, obtain the first segment physical address (x 1 ), and finally learn that there is a group of corresponding classified block channels in the flash memory MF1 , and the data can be processed Handle actions.
在上述数据处理流程DPS的三个实施例中,第五段实体地址并非为必须,意即低阶处理层LAL不一定需要以已分类分页区段为单位来进行数据处理动作。换句话说,如果低阶处理层LAL所接收到的实体地址仅定址到已分类区块分页,则低阶处理层LAL便以一已分类区块分页为单位来进行数据处理动作;而若低阶处理层LAL所接收到的实体地址定址到已分类分页区段,则低阶处理层LAL便可以一已分类分页区段为单位来进行数据处理动作。此外,实体地址x3为高阶转译层HTL,根据逻辑地址「P」、查询表TB以及保留信息DSP,最后所求得的实体地址(如图4的示范例)。In the above three embodiments of the data processing flow DPS, the fifth segment physical address is not necessary, which means that the low-level processing layer LAL does not necessarily need to perform data processing actions in units of classified paging segments. In other words, if the physical address received by the low-level processing layer LAL is only addressed to a classified block page, then the low-level processing layer LAL performs data processing in units of a classified block page; The physical address received by the low-level processing layer LAL is addressed to the classified paging segment, and then the low-level processing layer LAL can perform data processing in units of a classified paging segment. In addition, the physical address x 3 is the high-level translation layer HTL, the physical address finally obtained according to the logical address "P", the lookup table TB and the reserved information D SP (as shown in the example in FIG. 4 ).
请参考图8。图8为本发明的使用阶层化分层处理数据的快闪存储器装置800的示意图。如图8所示,快闪存储器装置800包含一命令及逻辑地址转换电路810、一执行命令及实体地址定址电路820,以及一快闪存储器MF。快闪存储器MF包含多个已分类单独区块BL11~BLMN。Please refer to Figure 8. FIG. 8 is a schematic diagram of a
命令及逻辑地址转换电路810位于高阶转译层HTL;执行命令及实体地址定址电路820位于低阶处理层LAL。命令及逻辑地址转换电路810还包含一逻辑判断电路811。在图8中,主控端H、高阶转译层HTL、低阶处理层LAL以及快闪存储器MF的运作原理皆如前述,在此不再赘述。The command and logical
命令及逻辑地址转换电路810用来执行下列几项动作:The command and logical
1.令高阶转译层HTL接收主控端H传送的逻辑地址「P」,并据以在快闪存储器MF中进行一数据处理动作的要求;1. Make the high-level translation layer HTL receive the logical address "P" sent by the host H, and perform a data processing operation in the flash memory MF accordingly;
2.命令低阶处理层LAL取得属于快闪存储器MF的硬件架构信息DSPEC以传送至高阶转译层HTL;2. Instruct the low-level processing layer LAL to obtain the hardware architecture information D SPEC belonging to the flash memory MF to transmit to the high-level translation layer HTL;
3.令高阶转译层HTL根据硬件架构信息DSPEC,在该多个已分类单独区块中,设置一组对应至逻辑地址「P」的实体存储单元,找出在该组对应至该逻辑地址的实体存储单元中,有一可供进行数据处理动作的实体存储单元,决定一数据处理流程以将该逻辑地址转换为对应至该可供进行数据处理动作的实体存储单元的一实体地址。3. Let the high-level translation layer HTL set a group of physical storage units corresponding to the logical address "P" in the plurality of classified individual blocks according to the hardware architecture information D SPEC , and find out the physical storage unit corresponding to the logical address "P" in the group. Among the physical storage units of the address, there is a physical storage unit available for data processing, and a data processing flow is determined to convert the logical address into a physical address corresponding to the physical storage unit available for data processing.
执行命令及实体地址定址电路820用来令低阶处理层LAL根据由高阶转译层HTL传送的实体地址「X」,在该可供进行数据处理动作的实体存储单元中,进行数据处理动作。The execution command and physical address addressing circuit 820 is used to make the low-level processing layer LAL perform data processing operations in the physical storage unit available for data processing operations according to the physical address "X" transmitted by the high-level translation layer HTL.
逻辑判断电路811用来执行下列几项动作:The
1.令高阶转译层HTL发出一命令(CMD1或CMD2)以指示低阶处理层LAL取得硬件架构信息DSPEC及保留信息DSP其中之一;1. Make the high-level translation layer HTL issue a command (CMD 1 or CMD 2 ) to instruct the low-level processing layer LAL to obtain one of the hardware architecture information D SPEC and the reserved information D SP ;
2.令低阶处理层LAL根据所发出的命令,读取快闪存储器MF的硬件架构信息DSPEC及保留信息DSP其中之一,以回传至高阶转译层HTL;2. Make the low-level processing layer LAL read one of the hardware structure information D SPEC and the reserved information D SP of the flash memory MF according to the issued command, and send it back to the high-level translation layer HTL;
3.令高阶转译层HTL根据硬件架构信息DSPEC及保留信息DSP,决定数据处理流程,以转换所接收的逻辑地址「P」为对应的实体地址「X」。3. Make the high-level translation layer HTL determine the data processing flow according to the hardware architecture information D SPEC and the reserved information D SP , so as to convert the received logical address "P" into the corresponding physical address "X".
综上所述,通过本发明将快闪存储器转译层分隔为高阶转译层与低阶处理层,便可解决当原本所使用的快闪存储器更换为另一新型快闪存储器时,整个快闪存储器转译层都需要重新设计的困扰,而通过本发明所提供的低阶处理层,可对于各种不同的快闪存储器,根据高阶转译层所提供的实体地址,并使用对应的控制方法,直接对对应的存储单元进行数据处理的动作,如此便可提供给使用者更大的便利性。In summary, the present invention separates the flash memory translation layer into a high-level translation layer and a low-level processing layer, which can solve the problem of the entire flash memory when the original flash memory is replaced with another new type of flash memory. The memory translation layer needs to be redesigned, and through the low-level processing layer provided by the present invention, it is possible to use the corresponding control method according to the physical address provided by the high-level translation layer for various flash memories, The action of data processing is directly performed on the corresponding storage unit, so that greater convenience can be provided to the user.
以上所述仅为本发明的优选实施例,凡依本发明权利要求书所做的均等变化与修饰,皆应属本发明的涵盖范围。The above descriptions are only preferred embodiments of the present invention, and all equivalent changes and modifications made according to the claims of the present invention shall fall within the scope of the present invention.
Claims (39)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910003390 CN101789259B (en) | 2009-01-22 | 2009-01-22 | Hierarchical and hierarchical data processing method and device applied to flash memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910003390 CN101789259B (en) | 2009-01-22 | 2009-01-22 | Hierarchical and hierarchical data processing method and device applied to flash memory |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101789259A CN101789259A (en) | 2010-07-28 |
CN101789259B true CN101789259B (en) | 2013-05-08 |
Family
ID=42532437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910003390 Active CN101789259B (en) | 2009-01-22 | 2009-01-22 | Hierarchical and hierarchical data processing method and device applied to flash memory |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101789259B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109496336A (en) * | 2018-10-26 | 2019-03-19 | 长江存储科技有限责任公司 | Data processing method and associated data processors for memory |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102479157B (en) * | 2010-11-22 | 2015-05-27 | 慧荣科技股份有限公司 | Method for block management, memory device and controller thereof |
CN105843556B (en) * | 2016-03-21 | 2019-01-11 | 浙江宇视科技有限公司 | A kind of VD choosing method and device |
CN108829348B (en) * | 2018-05-29 | 2022-03-04 | 上海兆芯集成电路有限公司 | Memory device and command reordering method |
CN109119123B (en) * | 2018-07-20 | 2021-09-14 | 江苏华存电子科技有限公司 | High, medium and low order flash memory classification method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1441338A (en) * | 2002-02-27 | 2003-09-10 | 微软公司 | Open type systemic structure flash storage driving program |
CN101339510A (en) * | 2007-07-02 | 2009-01-07 | 佛山市顺德区顺达电脑厂有限公司 | EMS memory data access device and electronic device using same |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7093101B2 (en) * | 2002-11-21 | 2006-08-15 | Microsoft Corporation | Dynamic data structures for tracking file system free space in a flash memory device |
-
2009
- 2009-01-22 CN CN 200910003390 patent/CN101789259B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1441338A (en) * | 2002-02-27 | 2003-09-10 | 微软公司 | Open type systemic structure flash storage driving program |
CN101339510A (en) * | 2007-07-02 | 2009-01-07 | 佛山市顺德区顺达电脑厂有限公司 | EMS memory data access device and electronic device using same |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109496336A (en) * | 2018-10-26 | 2019-03-19 | 长江存储科技有限责任公司 | Data processing method and associated data processors for memory |
Also Published As
Publication number | Publication date |
---|---|
CN101789259A (en) | 2010-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10101927B2 (en) | Data storage device and operating method thereof | |
US8583860B2 (en) | Block management method for flash memory and controller and storage system using the same | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US8001317B2 (en) | Data writing method for non-volatile memory and controller using the same | |
US8606987B2 (en) | Data writing method for flash memory and controller using the same | |
US8250286B2 (en) | Block management method, and storage system and controller using the same | |
CN101464834B (en) | Flash memory data writing method and controller using this method | |
TWI436212B (en) | Data writing method, memory controller and memory storage apparatus | |
US20100057979A1 (en) | Data transmission method for flash memory and flash memory storage system and controller using the same | |
CN104317753B (en) | Storage device and its data read-write method | |
TWI660271B (en) | Trim command recording method, memory control circuit unit and memory storage apparatus | |
CN106557432B (en) | Buffer memory management method, memory control circuit unit and storage device | |
CN107402716A (en) | Method for writing data, memory control circuit unit and internal storing memory | |
CN101789259B (en) | Hierarchical and hierarchical data processing method and device applied to flash memory | |
US8943264B2 (en) | Data storing method, and memory controller and memory storage apparatus using the same | |
CN102915273B (en) | Data writing method, memory controller and memory storage device | |
CN104536906B (en) | Data writing method, memory controller and memory storage device | |
CN113778907A (en) | Storage device | |
TWI395100B (en) | Method for processing data of flash memory by separating levels and flash memory device thereof | |
CN102890653B (en) | Instruction execution method, memory controller and memory storage device | |
TWI571881B (en) | Valid data merging method, memory controller and memory storage apparatus | |
CN102402396B (en) | Composite storage device and its composite storage media controller and addressing method | |
CN104731710B (en) | Memory management method, memory control circuit unit and memory storage device | |
CN106354651B (en) | Average wear method, memory control circuit unit and memory storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210527 Address after: 1 / F, 7 / F, No. 83, Section 2, gongdaowu Road, East District, Hsinchu, Taiwan, China Patentee after: Asolid Technology Co.,Ltd. Address before: Hsinchu City, Taiwan, China Patentee before: INNOSTOR TECHNOLOGY Corp. |
|
TR01 | Transfer of patent right |