WO2009111981A1 - 提高闪存介质数据存取速度的方法及采用该方法的装置 - Google Patents

提高闪存介质数据存取速度的方法及采用该方法的装置 Download PDF

Info

Publication number
WO2009111981A1
WO2009111981A1 PCT/CN2009/070736 CN2009070736W WO2009111981A1 WO 2009111981 A1 WO2009111981 A1 WO 2009111981A1 CN 2009070736 W CN2009070736 W CN 2009070736W WO 2009111981 A1 WO2009111981 A1 WO 2009111981A1
Authority
WO
WIPO (PCT)
Prior art keywords
binding
flash
storage device
block
data
Prior art date
Application number
PCT/CN2009/070736
Other languages
English (en)
French (fr)
Inventor
万红波
Original Assignee
深圳市朗科科技股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 深圳市朗科科技股份有限公司 filed Critical 深圳市朗科科技股份有限公司
Publication of WO2009111981A1 publication Critical patent/WO2009111981A1/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits

Definitions

  • the present application relates to the field of semiconductor storage media, and in particular, to a method for improving data access speed of a flash media and an apparatus using the same. Background technique
  • flash memory disks using flash memory have become more popular, and more and more manufacturers of flash memory chips are being produced, and technologies for improving the read and write speed of data of flash media chips are also Keep up to date.
  • Currently widely used technologies include external cross-reading technology (interleave), internal cross-reading technology, and multi-level read/write technology (Muti-plane).
  • flash media itself has a variety of techniques to improve data read and write speeds, but the types of flash media produced by different manufacturers and the data read and write technologies used are different, and there is incompatibility or not between them.
  • Supported situations such as support for Toshiba flash media data read and write technology does not support Samsung (Samsung), support for Micron (Micron) flash media data read and write technology does not support Hyundai (Hyundai).
  • a memory device includes two or more flash media chips or multiple flash media chips produced by different manufacturers, the data access speed of the storage device cannot be improved by the data access technology supported by the respective devices. Summary of the invention
  • the present application provides a method for improving the data access speed of a storage device.
  • the storage device includes one or more pieces of flash media, and each of the flash media includes a plurality of physical blocks.
  • the method includes the following steps:
  • the application further provides a storage device, the storage device comprising:
  • control module including a flash media processing module and a register sequence module
  • the storage module includes one or more pieces of flash media capable of storing data, and the storage module stores configuration parameters set according to the flash memory characteristics of the flash media.
  • the flash media processing module communicates with the storage module to perform binding of a physical block in the storage module according to a configuration parameter stored in the storage module, and perform data reading on the bound physical block. Or write operation.
  • the flash media of multiple chips, multiple types and various manufacturers can be unified, the configuration management is performed by using the general control module, and the page and the block are flexible according to the configuration. Logical binding, maximizing the read and write speed of flash media, and improving the data processing capability of the storage device master.
  • FIG. 1 is a schematic structural view of a storage device according to an embodiment of the present application
  • FIG. 2 is a flow chart showing setting configuration parameters in a storage device according to an embodiment of the present application
  • FIG. 3 is a schematic diagram of binding physical blocks in a plurality of pieces of flash media into binding blocks in accordance with a first embodiment of an embodiment of the present application;
  • FIG. 4 is a schematic diagram of binding physical blocks in a plurality of dies into binding blocks in accordance with a second embodiment of one embodiment of the present application;
  • FIG. 5 is a schematic diagram showing the organization of data in a binding block after performing the binding shown in FIG. 4;
  • FIG. 6 is a flow chart of a write data operation after forming a binding block according to the method of the present application.
  • flashes may be included in one storage device.
  • Storage medium ie, flash memory chip
  • each flash memory chip may be encapsulated by one or more die
  • each of the crystal grains may include one or more planes
  • each stage may include several A block, each block consisting of a plurality of pages (Page), each page containing a plurality of sectors.
  • the characteristics of the flash media storage data are data written in units of pages, and data is erased in units of blocks; when data is written, it is written in the order of the sectors of the page.
  • An address is allocated to a memory block in order in a flash medium, a memory block to which a physical address is assigned is referred to as a physical block, and a fictitious address assigned to a physical block during use is referred to as a logical address.
  • a mapping relationship is established between a logical address and a physical address through an address mapping table.
  • each piece of flash media is internally solidified at the factory to store configuration parameters that describe the characteristics of the flash media.
  • the configuration parameters may include, but are not limited to, a number of flash media
  • multiple pieces of flash media of the same or different types can be set in the same storage device, and unified management of the multi-chip flash media can be realized by the universal control module in the storage device.
  • the control module can flexibly and logically bind blocks and pages of different flash media with reference to the configuration parameters of each piece of flash media, thereby maximizing the read and write speed of the storage device.
  • the method includes:
  • Bind blocks and pages of different flash media to specific logical blocks and logical pages in this manner when a storage device is produced, a flash memory characteristic record of the storage device needs to be established.
  • the flash feature record can be used to determine the binding mode to be used between flash media in the storage device.
  • Table 1 shows an example form of the flash feature record.
  • the flash feature record can include different other content, such as the flash media vendor, the number of blocks of flash media, the number of pages within each block, the size of each page, the number of erases of the block, the flash media command. List, off-chip cross-read mode, on-chip cross-read mode, step-and-write mode.
  • each flash media contained in a storage device has an ID, which is typically 4 bytes, such as 1234.
  • the production device reads the ID of each flash media and generates an ID group for identifying the storage device. For example, assuming that the storage device supports a maximum of four flash media, and in fact only one flash memory having ID number 1234 is installed therein, the ID group generated by the production device is 1234 0000 0000 0000, and the storage device is known. The number of supported flash media is 1. If a flash memory with ID number 2345 is added to the storage device, the ID group generated by the production device is 1234 2345 0000 0000, and the number of flash media supported by the storage device is 2. When the storage device contains more than one flash media, the storage device supports external cross-reading technology by default, which supports cross-reading between the multiple flash media.
  • the production device determines other content of the flash feature record based on the configuration parameters originally stored in each piece of flash media. Among them, the production device can know whether each piece of flash media supports internal cross-reading technology (interleave) and multi-level read/write technology ( mu ti-pl ane ) by reading the configuration parameters of the flash media. If each piece of flash media supports internal cross-reading technology (ie, supports cross-reading between multiple dies in the chip), the memory device supports internal cross-reading technology, thereby determining the supported on-chip dies. number. The number of supported intra-chip grains is the total number of dies that can be bonded in the memory device.
  • the die-bound page increment can be determined based on the number of blocks included in each die and the number of pages in each block.
  • the grain bond page increment is the binding of two grains
  • the number of pages included is relative to the number of pages included in a single die before binding. For example, suppose that two flash media are installed in one storage device, the ID of the first flash media is 1234, the manufacturer is Samsung; the second flash media ID is 2345, and the manufacturer is Toshiba.
  • the two flash memory media contain two dies per chip and both support internal cross-reading technology, and each block has 1024 blocks, each block having 128 pages.
  • the ID group of the storage device is 1234 2345 0000 0000
  • the number of supported flash media is 2
  • the second flash memory does not support internal cross-reading technology
  • the memory device does not support internal cross-reading technology
  • the number of on-chip crystals supported is 1.
  • the binding page increment is 0.
  • the intra-granular order, the order binding page increment, and other parameters supported by the storage device can be determined by a similar method, and a detailed description thereof is omitted herein. Other parameters within the flash feature record can similarly be obtained by reading the configuration parameters originally stored in each piece of flash media.
  • the flash characteristic record corresponding to the storage device can be uniquely determined.
  • the flash characteristic recording it can be known whether the storage device supports external cross-reading and reading functions, internal cross-reading and reading functions, and order reading and writing functions, and can know the number of blocks that can be used for binding, the number of pages, and the like. Etc., so that it can be determined which binding mode is used to achieve fast reading and writing of the storage device.
  • a flash memory characteristic record table may be preset, and various possibilities of combining existing brands and various types of flash media with each other may be enumerated, and each combination corresponds to one each.
  • the flash characteristic records shown in Table 1 (the flash characteristic record values corresponding to each combination can be determined as described above;), and the various combinations are combined to form a flash characteristic record table.
  • the flash property record table can be stored in the production device.
  • the production device reads the ID of each flash medium and generates an ID group of the storage device, and then queries the ID group as an index to query the corresponding record in the flash characteristic record table (ie, The ID group is searched in the flash property record table, and the flash property record corresponding to the ID group is found;), thereby obtaining a flash property record corresponding to the storage device.
  • the above operations performed by the production device can also be performed by a configuration module provided inside the storage device.
  • the production device writes the flash feature record to a specific block in the flash media (eg, via a USB-SCSI command) as an internal information record table stored in the storage device (IIR: Inner Information) Part of Record ).
  • the internal information record table may include other information records customized by the user, such as vendor information of the storage device, other configuration information of the flash module, and the like.
  • the internal information record table is stored in a specific block of flash media that is not used to write other data.
  • Step S201 determining whether the USB-SCSI write configuration parameter command is received, if yes, proceeding to step S202, and if not, returning to the previous step;
  • Step S202 writing a flash memory characteristic record into the internal information record table, as part of the internal information record table, stored in an information block of the flash medium, the information block being a hidden block, and is dedicated to storing dedicated information such as an internal information record table;
  • Step S203 writing other information for controlling data access to the information block of the flash medium, and formatting the flash medium;
  • Step S204 completing the configuration parameter setting process.
  • FIG. 1 illustrates a memory device 100 in accordance with one embodiment of the present application.
  • the storage device 100 includes a control module 10, a configuration module 30, and a storage module 40.
  • Control module 10 includes a flash media processing module 50 and a register sequence module 60.
  • the flash media processing module 50 communicates with the register sequence module 60, the configuration module 30, and the memory module 40, respectively, to control read and write operations and storage management of the memory module 40.
  • the memory module 40 includes one or more flash memory media for storing data, which may be the same or different types of flash memory chips produced by the same or different manufacturers.
  • the configuration module 30 obtains a flash characteristic record, It is written to the storage module 40 while other information for controlling data access is written to form an internal information record table.
  • the flash media processing module 50 first reads the flash characteristic record from the storage module 40, and then performs binding of the flash medium according to the flash characteristic record.
  • the flash media processing module 50 converts the logical address of the data to the actual physical address according to the binding condition to perform a read and write operation on the actual physical block or page.
  • FIG. 3 shows a schematic diagram of a flash media binding in accordance with a first embodiment of an embodiment of the present application.
  • the storage module 40 includes two pieces of flash media, namely a first flash medium 401 and a second flash medium 402.
  • the first flash medium 401 is encapsulated by a die A and a die B
  • the second flash media 402 is encapsulated by a die A and a die B.
  • Both the first flash media 401 and the second flash media 402 support internal cross-reading technology.
  • the die A and the die B of the first flash medium 401 include physical block 0 to physical block 2047, the die A of the second flash medium 402, and the die B, including the physical block 0, to the physical Block 2047, the first flash medium 401 and the second flash medium 402 establish a basic lookup table by address mapping.
  • step S301 the flash media processing module 50 reads the flash characteristic record in the storage module 40, and determines in which manner the binding is performed according to the read flash characteristic record; it is assumed that the flash memory characteristic read by the media processing module 50 is recorded as a table.
  • the record shown in FIG. 1 shows that the binding can be performed between the four dies of the two flash media, thereby further determining the specific physical block that can be bound according to the delta value of the die bond page;
  • step S302 according to the determination result of step S301, at least one physical block that is not bound is sequentially taken from each of the first flash media 401 and the second flash media 402; for example, the first flash medium 401 is taken.
  • Step S303 the plurality of physical blocks are bound into one physical block; for example, the four physical blocks are bound into one binding block 0, wherein the number of sectors in each page of the binding block 0 is 4. Physics The sum of the number of block sectors;
  • Step S304 assigning a physical address to the binding block, establishing a binding control relationship; Step S305, addressing according to the binding binding relationship, and writing data to the flash medium (to be further described below);
  • Step S306 determining whether the writing of all the data is completed, and if yes, ending the physical block binding and data writing process, if not, returning to step S302 until all data is written; for example, continuing to take the first flash medium
  • the physical block 1 and the physical block 1025 of the 401, the physical block 1 of the second flash medium 402, and the physical block 1025 are bound to be the binding block 1, and the binding relationship is established and the data is written; and so on, .. ...., until the data is written completely.
  • binding of all physical blocks may also be completed first, followed by data writing.
  • step S303 above the following steps can be taken:
  • Step S304' it is determined whether the binding of all the physical blocks is completed. If not, the process returns to step S302 until the binding of all the physical blocks is completed; such as the physical block 1 and the physical block 1025 of the first flash medium 401, and the second flash medium Physical block 1 of 402, and physical block 1025, are bound to binding block 1, and so on, until physical block 1023 and physical block 2047 of first flash medium 401, physical block 1023' of second flash medium 402 and Physical block 2047, the binding becomes the binding block 1023;
  • Step S305 ′ assigning a physical address to the binding block, establishing a binding comparison relationship, and writing the binding comparison relationship as a part of the configuration parameter to the storage module 40;
  • Step S306' addressing according to the binding relationship described above, and writing data to the flash medium.
  • the storage module 40 includes a piece of flash media, i.e., a first flash medium 401.
  • the first flash medium 401 is encapsulated by a die A and a die B, wherein the die A includes a physical block 0 to a physical block 1023, and the die B includes a physical block 1024 to a physical block 2047.
  • the first flash medium 401 establishes a basic lookup table by an address mapping relationship, and the physical block 0 to the physical block 2047 correspond to the mapped logical address.
  • Figure 5 shows the data organization of a bound block after performing the binding shown in Figure 4.
  • the number of pages in each binding block is the same as the number of pages in each block before binding. The number has increased exponentially. Assuming each block contains 128 pages, the address of each page is as follows:
  • Block 0 Block 1024 Block 0 Block 1024
  • the steps of the fixed and data write operations include: Step S401, taking unbound at least one physical block from each order of the die, such as the order A and the order B; for example, physical block 0 of the order A and physical block 1024 of the order B;
  • Step S402 binding the plurality of physical blocks taken into one binding block; for example, binding the physical block 0 and the physical block 1024 into a binding block 0", wherein the number of pages of the binding block 0" is the above 2
  • the sum of the number of physical block pages, the number of sectors of the page is also the sum of the number of sectors of 2 physical blocks;
  • Step S403 assigning a physical address to the binding block, and establishing a binding comparison relationship;
  • Step S404 performing addressing according to the binding binding relationship, and writing data to the flash medium;
  • Step S405 determining whether the writing of all the data is completed, and if yes, ending the physical block binding and data writing process, and if not, returning to step S402 until all data is written; for example, continuing to take the physical of the order A
  • the physical block 1025 of block 1 and level B is bound to become the binding block 1 ", and the binding relationship is established and the data is written; and so on, ... until the data writing is completed.
  • binding of all physical blocks can be completed first, and then data can be written.
  • step S303 the following steps can be performed:
  • Step S403' it is determined whether the binding of all the physical blocks in each step is completed. If not, the process returns to step S401 until the binding of all the physical blocks is completed; the physical block 1 of the order A and the physical block 1025 of the level B are bound. Become binding block 1 ", and so on, until the physical block 1023 of the order A and the physical block 2047 of the order B are bound as the binding block 1023,;
  • Step S404' assigning a physical address to the binding block, establishing a binding comparison relationship, and writing the binding comparison relationship as part of the configuration parameter to the storage module 40;
  • Step S405' addressing according to the binding relationship described above, and writing data to the flash medium.
  • the binding binding relationship refers to the correspondence between the physical address of the binding block and the logical address, and the binding comparison relationship may be recorded by using a binding comparison table.
  • the mapping between the physical address of the binding block and the logical address is the same as the physical block binding between the foregoing dies, and details are not described herein.
  • the bound binding block establishes a binding comparison table corresponding to the physical address of the binding block by the address mapping relationship, that is, the binding block 0 to the binding block 1023.
  • binding block 0 corresponds to logical block
  • binding block 1 corresponds to logical block 1 until binding block 1023 corresponds to logical block 1023.
  • the organizational structure of the binding comparison table may be the same as the comparison table used in the prior art, but the comparison relationship recorded in the binding comparison table is a binding relationship of a logical address against a plurality of bound physical blocks.
  • the binding table is used for addressing and reading and writing operations. For example, when new data needs to be written, the data is written to the binding block by the binding table address in the logical address of the binding block, and the data can be further improved by combining external cross-reading and writing technologies. speed.
  • the command of the first flash medium 401 to write data when unbound is: Write command (80h) + send write address (page 0 address of unbound logical block 0) + send write data (2048 bytes) + send programming command (l lh ) + wait for write (wait rb ). Therefore, when the first flash medium 401 is unbound, data can be sequentially written to the physical block of the die A or the physical block of the die B in units of pages, and the writing can be continued only when the last data is written. The data on the next page, so the data write speed is relatively slow.
  • the write data command is: send write command (80h) + send write address (page 0 of logic block 0, , address) + send write data ( 2048 bytes ) + send programming command ( l lh ) + wait for write (wait rb ) + send write command (81h ) + send write address (logic block 0, page n, address + Send write data (2048 bytes) + Send programming command (10h) + Wait for write (wait rb).
  • the corresponding physical address is the binding block 0, and the binding block 0 is composed of the physical block 0 of the die A and the physical block 1024 of the die B, so the first flash medium 401 is After the data is written into the data by using the read/write technology of the present application, the physical block 0 of the die A of the first flash medium 401 and the physical block 1024 of the die B are sequentially written in units of pages, and data is written. The process is performed simultaneously in the die A and the die B. Since the wait rb for sending the write command (80h) is very short, it is basically negligible, so the data is written with unbound data.
  • the programming time can be doubled, that is, the data of 2 pages is written using the time of waiting for completion (wait rb).
  • the binding of the above flash media to data The read and write steps can be performed simultaneously. For example, when the control module of the storage device receives the command for data writing, first reads the flash characteristic record in the storage module, and then performs binding of the physical block according to the flash characteristic record, and once the binding of a set of physical blocks is completed, one is generated. Binding blocks, that is, writing data to the binding block without waiting for all physical block bindings to complete.
  • FIG. 6 illustrates a data write flow of a flash medium according to an embodiment of the present application (the description of the flash media binding process is omitted), including the following steps:
  • Step S501 the flash media processing module 50 reads the configuration parameters preset by the storage module 40, such as related parameters of the binding block;
  • Step S502 receiving a command for writing data of the host system, performing a data write operation to the storage module 40, where the write data operation includes a logical address for writing data;
  • Step S503 determining whether it is the last external cross-reading operation, if not, executing step S504; otherwise, ending the current data writing operation;
  • Step S504 performing an operation of writing data by using an external cross-reading technology according to the correspondence between the physical address of the binding block and the logical address in the binding comparison table;
  • Step S506 determining whether it is the last internal cross-reading operation, if not, executing step S507; otherwise, returning to step S503;
  • Step S507 Perform an operation of writing data by using an internal cross-reading technology according to the correspondence between the physical address of the binding block and the logical address in the binding comparison table.
  • Step S508 determining whether the write data operation is performed to the last stage, if not, executing step S509; otherwise, returning to step S506;
  • Step S509 Perform a data write operation by using a multi-level read/write technology according to the correspondence between the physical address of the binding block and the logical address in the binding comparison table.

Landscapes

  • Read Only Memory (AREA)

Description

提高闪存介质数据存取速度的方法及釆用该方法的装置 技术领域
本申请涉及半导体存储介质领域, 特别涉及一种提高闪存介质数据 存取速度的方法及釆用该方法的装置。 背景技术
随着半导体存储技术的发展, 以闪存介质作为数据存储介质的存储 装置如闪存盘已较为普及, 生产闪存介质芯片的厂家越来越多, 旨在提 高闪存介质芯片数据读写速度的技术也在不断更新。 各厂家生产的闪存 介质芯片的类型、 以及所釆用的提高读写速度的技术也可能存在较大差 异。 当前应用较为广泛的技术包括外部交叉读写技术( interleave ), 内部 交叉读写技术、 多阶读写技术 ( muti-plane )等。
如前所述, 闪存介质本身存在多种提高数据读写速度的技术, 但不 同生产厂家所生产的闪存介质的类型以及所釆用的数据读写技术不相 同, 相互之间存在不兼容或不支持的情况, 如支持东芝(Toshiba ) 闪存 介质的数据读写技术就不支持三星 (Samsung ) 的, 支持镁光(Micron ) 闪存介质的数据读写技术就不支持现代(Hyundai ) 的。 基于以上原因, 当某一存储装置中包括两种以上不同厂家生产的闪存介质芯片或多片闪 存介质芯片时, 将无法通过各自支持的数据存取技术提高该存储装置的 数据存取速度。 发明内容
本申请提供一种提高存储装置数据存取速度的方法, 所述存储装置 中包含一片或多片闪存介质, 每片所述闪存介质中包含多个物理块, 所 述方法包括以下步骤:
根据所述闪存介质的闪存特性设置配置参数;
根据所述配置参数绑定物理块; 以及
对所述绑定的物理块进行数据读或写操作。 本申请还提供一种存储装置, 所述存储装置包括:
控制模块,所述控制模块包括闪存介质处理模块和寄存器序列模块; 以及
存储模块, 包括一片或多片能够存储数据的闪存介质, 所述存储模 块内存储有根据所述闪存介质的闪存特性设置的配置参数,
其中, 所述闪存介质处理模块与所述存储模块通信, 以根据所述存 储模块内存储的配置参数进行所述存储模块内物理块的绑定, 并对所述 绑定的物理块进行数据读或写操作。 根据本申请提供的提高闪存介质数据存取速度的方法, 可将多片、 多种类型、 各种厂商的闪存介质统一起来, 利用通用的控制模块进行配 置管理, 按照配置进行页和块的灵活逻辑绑定, 最大限度地提高闪存介 质的读写速度, 提高存储装置主控的数据处理能力。 附图说明
图 1为根据本申请中一个实施方案的存储装置的结构示意图; 图 2为根据本申请中一个实施方案在存储装置内设置配置参数的流 程图;
图 3为根据本申请中一个实施方案的第一实施例将多片闪存介质中 的物理块绑定成绑定块的示意图;
图 4为根据本申请中一个实施方案的第二实施例将多个晶粒中的物 理块绑定成绑定块的示意图;
图 5示出了进行图 4所示的绑定后, 一个绑定块内数据组织形式的 示意图; 以及
图 6为根据本申请方法形成绑定块后, 写数据操作的流程图。
本申请目的的实现、 功能特点及优点将结合实施例, 参照附图做进 一步说明。 具体实施方式
如本领域技术人员所知, 一个存储装置中可以包含有一片或多片闪 存介质(即闪存芯片), 每片闪存芯片可以由一个或多个晶粒(die )封装 而成, 每个晶粒中可以包括一个或多个阶(plane ), 每个阶可包括若干个 存储块( Block ),每个存储块由多个页( Page )构成,每页包含多个扇区。 闪存介质存储数据的特性是以页为单位写入数据, 以块为单位擦除数据; 在写入数据时, 按页的扇区顺序写入。 在闪存介质中按顺序为存储块分 配地址, 被分配了物理地址的存储块称为物理块, 而在使用过程中为物 理块分配的虚构地址称为逻辑地址。 通过地址映射表在逻辑地址与物理 地址之间建立映射关系。
另外, 每片闪存介质在出厂时内部通常固化存储有用于描述该闪存 介质特性的配置参数。 所述配置参数可包括但不限于闪存介质的编号
( ID ), 闪存名称型号、 闪存生产厂商、 包含的块数目 (Block Number ), 每个块中页的数量 ( Page Per Block ), 每个页大小 ( Page Size )、 读命令 参数、 写命令参数、 读状态命令、 擦除命令、 晶粒绑定页增量 dtDie和 /或 阶绑定页增量 dtPlane等。
根据本申请所披露的方法, 可将相同或不同型号的多片闪存介质设 置在同一个存储装置中, 通过存储装置中的通用控制模块来实现对多片 闪存介质的统一管理。 该控制模块可参照各片闪存介质的配置参数来对 不同闪存介质的块和页进行灵活的逻辑绑定, 从而最大限度地提高存储 装置的读写速度。
所述方法包括:
根据存储装置中各闪存介质的配置参数确定闪存介质间适用的绑定 方式; 以及
根据该方式将不同闪存介质的块和页绑定为特定的逻辑块和逻辑 页。 根据本申请中一个实施方案, 在生产存储装置时, 需建立该存储装 置的闪存特性记录。 通过该闪存特性记录即可确定存储装置内的闪存介 质间应釆用的绑定方式。 表 1为闪存特性记录的一个示例形式。 本领域技 术人员可以理解的是, 本申请中所给出的具体参数数值仅是示例性的而 非真实技术参数值, 其不应作为对本申请的限制。 同样地, 表 1仅为便于 理解而举的示例, 闪存特性记录可包括不同的其他内容, 例如闪存介质 厂商、 闪存介质的块数目、 每个块内的页数目、 每个页大小、 块的擦写 次数、 闪存介质命令列表、 片外交叉读写模式、 片内交叉读写模式、 阶 读写模式等。
Figure imgf000006_0002
Figure imgf000006_0001
以下对闪存特性记录的建立过程进行示例性描述。
首先确定存储装置的 ID组。 通常来说, 存储装置内包含的每片闪存 介质各具有一个 ID, 该 ID—般为 4个字节, 如 1234。 在生产存储装置时, 生产装置读取各闪存介质的 ID并生成一个用于标识本存储装置的 ID组。 举例来说, 假定该存储装置最多支持 4片闪存介质, 而事实上其内仅安装 了一片 ID号为 1234的闪存介质,则生产装置生成的 ID组为 1234 0000 0000 0000, 同时可知该存储装置所支持的闪存介质片数为 1。 若在存储装置内 再增加一片 ID号为 2345的闪存介质, 则生产装置生成的 ID组为 1234 2345 0000 0000, 同时可知该存储装置所支持的闪存介质片数为 2。 当存储装置 内包含的闪存介质超过一片时, 默认该存储装置支持外部交叉读写技术, 即支持该多片闪存介质间的交叉读写。
进一步, 生产装置根据各片闪存介质内原始存储的配置参数确定闪 存特性记录的其他内容。 其中, 生产装置通过读取闪存介质的配置参数 可以得知各片闪存介质是否支持内部交叉读写技术(interleave ) 以及多 阶读写技术( muti-plane )。 若各片闪存介质均支持内部交叉读写技术(即 支持片内多个晶粒间的交叉读写), 则组成的存储装置支持内部交叉读写 技术, 由此可确定支持的片内晶粒数。 所谓支持的片内晶粒数即存储装 置内可进行绑定的晶粒的总数。 反之, 若有一片或多于一片的闪存介质 不支持内部交叉读写技术, 则组成的存储装置不支持内部交叉读写技术。 在支持内部交叉读写技术的情况下, 可根据每个晶粒内包含的块数以及 每块内的页数确定晶粒绑定页增量。 晶粒绑定页增量即两个晶粒绑定后 所包含的页数相对于绑定前单个晶粒所包含页数的增加量。 举例来说, 假定在一个存储装置中装有两片闪存介质, 第一片闪存介质的 ID为 1234, 其生产厂家为三星; 第二片闪存介质的 ID为 2345 , 其生产厂家为东芝。 所述两片闪存介质每片内均包含两个晶粒、 且均支持内部交叉读写技术, 并且每个晶粒内具有 1024个块, 每个块有 128页。 则可确定出该存储装置 的 ID组为 1234 2345 0000 0000 , 支持的闪存介质片数为 2 , 支持的片内晶 粒数为 2*2=4, 晶粒绑定页增量为 (2-1 ) *1024*128=131072。 在以上示 例中, 若其他条件不变, 但第二片闪存介质不支持内部交叉读写技术, 则该存储装置不支持内部交叉读写技术, 其支持的片内晶粒数为 1 , 晶粒 绑定页增量为 0。 该存储装置支持的晶粒内阶数、 阶绑定页增量以及其他 参数可通过类似的方法确定, 在此省略其详细描述。 闪存特性记录内的 其他参数可类似地通过读取各片闪存介质内原始存储的配置参数来获 付。
由此, 可唯一地确定对应于该存储装置的闪存特性记录。 通过该闪 存特性记录, 即可得知该存储装置是否支持外部交叉读写功能、 内部交 叉读写功能、 以及阶读写功能, 并且可得知可用于绑定的块的数量, 页 的数量等等, 从而能够确定釆用何种绑定方式以实现存储装置的快速读 写。
根据本申请中另一个实施方案, 也可以预先设定一个闪存特性记录 表, 将现有各种品牌、 各种型号的闪存介质彼此组合的多种可能——列 举, 每种组合分别对应一条如表一所示的闪存特性记录(每种组合所对 应的闪存特性记录值可按照上文所述的方法确定;), 各种组合汇集组成闪 存特性记录表。 该闪存特性记录表可存储在生产装置中。 由此, 在生产 存储装置时, 生产装置将读取各闪存介质的 ID并生成一个本存储装置的 ID组, 然后将该 ID组作为索引在闪存特性记录表里查询出相应的记录 (即, 在闪存特性记录表中搜索该 ID组, 找到该 ID组对应的闪存特性记 录;), 由此得到对应于该存储装置的闪存特性记录。
本领域技术人员可以理解的是, 上文中由生产装置进行的操作也可 由存储装置内部设置的配置模块完成。 在闪存特性记录确定后, 生产装置将闪存特性记录写入到闪存介质 里特定的块中 (例如通过 USB - SCSI命令写入), 作为存储装置中所存储 的内部信息记录表 ( IIR: Inner Information Record )的一部分。 该内部信 息记录表内除了包含上述闪存特性记录外, 还可以包含由用户自定义的 其他信息记录, 如存储装置的厂商信息, 闪存模块的其他配置信息等等。 内部信息记录表保存在闪存介质的特定块中, 该块不会被用于写入其他 数据。 以下结合图 2示出的一个具体实施例说明在存储装置内设置配置参 数的过程:
步骤 S201 , 判断是否收到 USB - SCSI写入配置参数命令, 若是, 则 进入步骤 S202, 若否, 则返回上一步;
步骤 S202, 将闪存特性记录写入内部信息记录表中, 作为内部信息 记录表的一部分存储于闪存介质的信息块中, 该信息块为隐藏块, 专用 于存储诸如内部信息记录表的专用信息;
步骤 S203 , 向闪存介质的信息块中写入其它用于控制数据存取的信 息, 并对闪存介质进行格式化; 以及
步骤 S204, 完成配置参数设置过程。
所述配置参数设置完成后, 存储装置在存取数据时, 首先读取闪存 介质中存储的内部信息记录表中的闪存特性记录, 根据其中的闪存特性 参数对闪存介质做分类, 把各种不同的闪存介质绑定成特定的逻辑块和 逻辑页。 釆取不同的读写方法来对不同的闪存机制进行逻辑写入页和逻 辑擦除块。 以下将结合具体存储装置来对闪存介质的绑定和读写过程进行进一 步说明。 图 1示出了根据本申请中一个实施方案的存储装置 100。 该存储 装置 100包括控制模块 10、 配置模块 30和存储模块 40。 控制模块 10包括闪 存介质处理模块 50和寄存器序列模块 60。 闪存介质处理模块 50分别与寄 存器序列模块 60、 配置模块 30和存储模块 40通信, 以控制对存储模块 40 的读写操作和存储管理。 存储模块 40包括一片或多片用于存储数据的闪 存介质, 该一片或多片闪存介质可以是相同或不同厂家生产的、 相同或 不同类型的闪存芯片。 根据本实施方案, 配置模块 30获取闪存特性记录, 并将其写入存储模块 40, 同时写入其他用于控制数据存取的信息, 以组 成内部信息记录表。 当存储装置 100存取数据时, 闪存介质处理模块 50首 先由存储模块 40中读取闪存特性记录, 然后根据该闪存特性记录进行闪 存介质的绑定。 在向存储装置中写入数据或由其读取数据时, 闪存介质 处理模块 50根据绑定情况将数据的逻辑地址转换为实际物理地址, 以对 实际的物理块或页进行读写操作。
可以理解的是, 存储装置 100中也可不包括配置模块 30, 配置模块 30 的功能可在存储装置 100的制造过程中由生产装置完成。 图 3示出了根据本申请中一个实施方案第一实施例的闪存介质绑定 示意图。 在本实施例中, 存储模块 40包括两片闪存介质, 即第一闪存介 质 401和第二闪存介质 402。 所述第一闪存介质 401由晶粒 A和晶粒 B封装 而成, 第二闪存介质 402由晶粒 A,和晶粒 B,封装而成。 第一闪存介质 401 和第二闪存介质 402均支持内部交叉读写技术。 所述第一闪存介质 401的 晶粒 A和晶粒 B中包括物理块 0至物理块 2047, 所述第二闪存介质 402的晶 粒 A,和晶粒 B,中包括物理块 0,至物理块 2047,,第一闪存介质 401和第二闪 存介质 402通过地址映射关系建立基本对照表。
现对第一闪存介质 401和第二闪存介质 402中的物理块绑定、 以及数 据写入的过程进行描述:
步骤 S301, 闪存介质处理模块 50读取存储模块 40中的闪存特性记录, 根据所读取的闪存特性记录判断以何种方式进行绑定; 假定介质处理模 块 50读取得到的闪存特性记录为表 1所示的记录, 则可以得知可在两片闪 存介质的四个晶粒之间进行绑定, 由此进一步根据晶粒绑定页增量值确 定可以进行绑定的具体物理块;
步骤 S302, 根据步骤 S301的判断结果, 从第一闪存介质 401和第二闪 存介质 402中的各晶粒中分别顺序取未经绑定的至少一物理块; 例如, 取 第一闪存介质 401晶粒 A的物理块 0和晶粒 B的物理块 1024、 第二闪存介质 402晶粒 A,的物理块 0,和晶粒 B '的物理块 1024,等 4个物理块;
步骤 S303 , 将所取的多个物理块绑定成一个物理块; 例如将上述 4个 物理块绑定成为一绑定块 0, 其中绑定块 0中每一页内的扇区数为 4个物理 块扇区数之和;
步骤 S304, 为上述绑定块分配物理地址, 建立绑定对照关系; 步骤 S305 , 根据上述绑定对照关系进行寻址, 向闪存介质中写入数 据(将在下文中进一步描述);
步骤 S306, 判断是否完成所有数据的写入, 若是, 则结束物理块绑 定及数据写入过程, 若否, 则返回步骤 S302, 直至完成所有数据的写入; 例如, 继续取第一闪存介质 401的物理块 1和物理块 1025、 第二闪存介质 402的物理块 1,和物理块 1025,绑定成为绑定块 1 , 并建立绑定对照关系以 及写入数据; 依此类推, ......, 直至数据写入全部完成。
根据本申请的另一个方面, 也可首先完成全部物理块的绑定, 然后 再进行数据的写入。 举例来说, 在上文中的步骤 S303之后, 可按照以下 步骤进行:
步骤 S304' , 判断是否完成所有物理块的绑定, 若否, 则返回步骤 S302, 直至完成所有物理块的绑定; 如第一闪存介质 401的物理块 1和物 理块 1025、第二闪存介质 402的物理块 1,和物理块 1025,绑定成为绑定块 1 , 依此类推, , 直至第一闪存介质 401的物理块 1023和物理块 2047、 第 二闪存介质 402的物理块 1023 '和物理块 2047,绑定成为绑定块 1023;
步骤 S305' , 为上述绑定块分配物理地址, 建立绑定对照关系, 并将 所述绑定对照关系作为配置参数的一部分写入存储模块 40中;
步骤 S306' , 根据上述绑定对照关系进行寻址, 向闪存介质中写入数 据。 图 4示出了根据本申请中一个实施方案第二实施例的闪存介质绑定 示意图。 在本实施例中, 存储模块 40包括一片闪存介质即第一闪存介质 401。 所述第一闪存介质 401由晶粒 A和晶粒 B封装而成, 其中晶粒 A包含 物理块 0至物理块 1023 ,晶粒 B包含物理块 1024至物理块 2047。如图 4所示, 第一闪存介质 401通过地址映射关系建立基本对照表, 上述物理块 0至物 理块 2047与映射的逻辑地址——对应。
图 5示出了进行图 4所示的绑定后, 一个绑定的块内数据组织形式。 其中每个绑定块内页的数量与绑定前每个块内页的数量相同, 页内扇区 数成倍增加。 假定每个块包含 128个页, 则各页地址如下:
Block 0 Block 1024
0页地址 0 1024*128
1页地址 1 1024* 128 + 1
2页地址 2 1024* 128 + 2
4叚定绑定前每页包含 4个扇区, 则上述绑定后的第 0,个 block的第 7页 第 5个扇区的实际物理页地址为: 7+1024* 128 = 131079, 实际页内扇区地 址: 5-4 =1。 由此可得 , 实际上是按照页地址为 131079和扇区地址 1去访 问闪存介质的。
而对于图 3所示的包含片外绑定的情况, 在确定实际物理页地址时, 需要加入片选信号和用于判断闪存介质是否准备好的信号线信号:
Block 0 Block 1024 Block 0 Block 1024
0页地址 0 1024*128 0 1024*128 1页地址 1 1024*128 + 1 1 1024*128 + 1 2页地址 2 1024*128 + 2 2 1024*128 + 2 片选: 第 1片 第 2片 假定绑定前每页包含 4个扇区, 则绑定后的第 0个 block的第 7页第 9个 扇区的实际物理页地址为: 7, 实际页内扇区地址: 9-4*2 = 1 ; 实际上访 问的是第 2片的第 7页的第 1个扇区。 由于物理上的一页是 4个扇区, 所以 第 1-8扇区在第 1片闪存介质中, 而第 9-16扇区在第 2片闪存介质中, 如果 大于 8个扇区就到访问第 2片闪存介质。 根据本申请一个实施方案的第三实施例, 若存储模块 40包括一片闪 存介质, 该闪存介质内的晶粒数为 1 , 该晶粒内包含阶 A和阶 B , 则执行 阶内物理块绑定以及数据写入操作的步骤包括: 步骤 S401 , 从晶粒的各阶如阶 A和阶 B中分别取未经绑定的至少一个 物理块; 如取阶 A的物理块 0和阶 B的物理块 1024;
步骤 S402, 将所取的多个物理块绑定成一个绑定块; 如将上述物理 块 0和物理块 1024绑定成为绑定块 0" , 其中绑定块 0"的页数为上述 2个物 理块页数之和, 其页的扇区数也为 2个物理块扇区数之和;
步骤 S403 , 为上述绑定块分配物理地址, 建立绑定对照关系; 步骤 S404, 根据上述绑定对照关系进行寻址, 向闪存介质中写入数 据;
步骤 S405 , 判断是否完成所有数据的写入, 若是, 则结束物理块绑 定及数据写入过程, 若否, 则返回步骤 S402, 直至完成所有数据的写入; 例如, 继续取阶 A的物理块 1和阶 B的物理块 1025绑定成为绑定块 1 " , 并 建立绑定对照关系以及写入数据; 依此类推, ......, 直至数据写入全部 完成。
如前所述, 根据本申请的另一个方面, 也可首先完成全部物理块的 绑定, 然后再进行数据的写入。 举例来说, 在上文中的步骤 S303之后, 可按照以下步骤进行:
步骤 S403' , 判断是否完成各阶中所有物理块的绑定, 若否, 则返回 步骤 S401 , 直至完成所有物理块的绑定; 如阶 A的物理块 1和阶 B的物理 块 1025绑定成为绑定块 1 " , 依此类推, , 直至阶 A的物理块 1023和 阶 B的物理块 2047绑定成为绑定块 1023,,;
步骤 S404' , 为上述绑定块分配物理地址, 建立绑定对照关系, 并将 所述绑定对照关系作为配置参数的一部分写入存储模块 40中;
步骤 S405' , 根据上述绑定对照关系进行寻址, 向闪存介质中写入数 据。
上述绑定对照关系是指绑定块物理地址与逻辑地址的对应关系, 可 使用绑定对照表记录该绑定对照关系。 有关绑定块物理地址与逻辑地址 的映射关系与前述晶粒之间的物理块绑定相同, 在此不再赘述。 在上述实施例中, 经绑定后的绑定块通过地址映射关系建立绑定块 物理地址与逻辑地址相对应的绑定对照表, 即上述绑定块 0至绑定块 1023 与映射的逻辑地址——对应, 如绑定块 0对应逻辑块 0、 绑定块 1对应逻辑 块 1 直至绑定块 1023对应逻辑块 1023。 绑定对照表的组织结构可 以与现有技术使用的对照表相同, 但绑定对照表中记录的对照关系是一 个逻辑地址对照多个被绑定的物理块的绑定对照关系。
根据本申请的方法, 在读写数据操作过程中, 釆用绑定对照表寻址 进行读写操作。 例如, 在需要写入新数据时, 以绑定块的逻辑地址为单 位, 通过绑定对照表寻址向绑定块中写入数据, 结合外部交叉读写等技 术可以进一步提高写入数据的速度。
以上文中根据本申请一个实施方案的第二实施例所描述的绑定情况 (如图 4所示) 为例, 上述第一闪存介质 401在未经绑定时其写入数据的 命令为: 发送写命令(80h ) +发送写入地址(未经绑定的逻辑块 0的页 0 地址) +发送写入数据 ( 2048 bytes ) +发送编程命令(l lh ) +等待写完( wait rb ) 。 因此第一闪存介质 401未经绑定时只能向晶粒 A的物理块或晶粒 B 的物理块以页为单位依次写入数据, 且只有当上次数据写完时, 才能继 续写入下一页的数据, 因此数据写入速度相对较慢。
而使用本申请的读写技术向经绑定后的第一闪存介质 401写入数据 时, 其写入数据命令为: 发送写命令(80h ) +发送写入地址(逻辑块 0, 的页 0,地址) +发送写入数据 ( 2048 bytes ) +发送编程命令 ( l lh ) +等待 写完 (wait rb ) +发送写命令(81h ) +发送写入地址(逻辑块 0,的页 n, 地址) +发送写数据( 2048 bytes ) +发送编程命令 ( 10h ) +等待写完( wait rb ) 。 由于逻辑块 0,对应的物理地址为绑定块 0,, 而绑定块 0,是由晶粒 A 的物理块 0和晶粒 B的物理块 1024组成, 因此所述第一闪存介质 401在绑定 后使用本申请的读写技术写入数据过程中, 是向第一闪存介质 401晶粒 A 的物理块 0和晶粒 B的物理块 1024以页为单位顺序写入数据, 写入数据的 过程是在晶粒 A和晶粒 B中同时进行, 由于发送写命令(80h ) 的等待写 完(wait rb )的时间非常短, 基本可以忽略不计, 因此与未经绑定写入数 据相比, 其编程时间可以节省一倍, 即使用一次等待写完(wait rb )的时 间完成写 2个页的数据。 如前所述, 根据本申请的一个方面, 以上闪存介质的绑定与数据的 读写步骤可同步进行。 例如, 存储装置的控制模块接收到数据写入的命 令时, 首先读取存储模块中的闪存特性记录, 然后根据该闪存特性记录 进行物理块的绑定, 一旦一组物理块绑定完成生成一个绑定块, 即向该 绑定块中写入数据, 而无需等待全部物理块绑定完成。
图 6示出了根据本申请中一个实施方案的闪存介质的数据写入流程 (其中省略了对闪存介质绑定过程的描述) , 包括以下步骤:
步骤 S501 , 闪存介质处理模块 50读取存储模块 40预先设置的配置参 数, 如绑定块的相关参数;
步骤 S502, 接收主机系统数据写入的命令, 执行向存储模块 40中写 数据操作, 该写数据操作中包括写入数据的逻辑地址;
步骤 S503 , 判断是否为最后一个外部交叉读写操作, 如否, 执行步 骤 S504; 否则, 结束本次数据写操作;
步骤 S504, 根据绑定对照表中绑定块物理地址与逻辑地址的对应关 系, 使用外部交叉读写技术进行写数据操作;
步骤 S506, 判断是否为最后一个内部交叉读写操作, 如否, 执行步 骤 S507; 否则, 返回步骤 S503 ;
步骤 S507, 根据绑定对照表中绑定块物理地址与逻辑地址的对应关 系, 使用内部交叉读写技术进行写数据操作;
步骤 S508 , 判断写数据操作是否执行到最后一个阶, 如否, 执行步 骤 S509; 否则, 返回步骤 S506;
步骤 S509, 根据绑定对照表中绑定块物理地址与逻辑地址的对应关 系 , 使用多阶读写技术进行写数据操作。 以上所述仅为本申请的优选实施例, 并非因此限制本申请的专利范 围, 凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换, 或直接或间接运用在其他相关的技术领域, 均同理包括在本申请的专利 保护范围内。

Claims

权利要求:
1. 一种提高存储装置数据存取速度的方法, 所述存储装置中包含一 片或多片闪存介质, 每片所述闪存介质中包含多个物理块, 所述方法包 括以下步骤:
根据所述闪存介质的闪存特性设置配置参数;
根据所述配置参数绑定物理块; 以及
对所述绑定的物理块进行数据读或写操作。
2. 如权利要求 1所述的提高存储装置数据存取速度的方法, 其特征 在于, 所述配置参数包括但不限于: 闪存介质编号组、 支持的外部片数、 支持的片内晶粒数、 支持的晶粒内阶数、 阶绑定页增量和 /或晶粒绑定页 增量。
3. 如前述任意一项权利要求所述的提高存储装置数据存取速度的 方法, 其特征在于, 所述根据闪存介质的闪存特性设置配置参数的步骤 包括: 分别读取各片闪存介质的编号, 利用读取得到的编号组成闪存介 质编号组。
4. 如前述任意一项权利要求所述的提高存储装置数据存取速度的 方法, 其特征在于, 所述根据闪存介质的闪存特性设置配置参数的步骤 包括: 判断所述存储装置内共包括多少片闪存介质, 由此确定所述存储 装置支持的外部片数。
5. 如前述任意一项权利要求所述的提高存储装置数据存取速度的 方法, 其特征在于, 所述根据闪存介质的闪存特性设置配置参数的步骤 包括:判断所述存储装置内的闪存介质是否全部支持内部交叉读写技术, 由此确定所述存储装置支持的片内晶粒数。
6. 如权利要求 5所述的提高存储装置数据存取速度的方法, 其特征 在于, 确定所述存储装置支持的片内晶粒数的步骤包括: 若所述存储装 置内的闪存介质全部支持内部交叉读写技术, 则所述支持的片内晶粒数 为各片闪存介质内所包含的晶粒数之和; 若有一片或多于一片的闪存介 质不支持内部交叉读写技术, 则所述支持的片内晶粒数为 1。
7. 如前述任意一项权利要求所述的提高存储装置数据存取速度的 方法, 其特征在于, 所述根据闪存介质的闪存特性设置配置参数的步骤 包括: 根据所述闪存介质每个晶粒内包含的物理块数以及每块内的页数 确定晶粒绑定页增量。
8. 如前述任意一项权利要求所述的提高存储装置数据存取速度的 方法, 其特征在于, 所述根据闪存介质的闪存特性设置配置参数的步骤 包括: 判断所述存储装置内的闪存介质是否全部支持多阶读写技术, 由 此确定所述存储装置支持的晶粒内阶数。
9. 如权利要求 8所述的提高存储装置数据存取速度的方法, 其特征 在于, 确定所述存储装置支持的晶粒内阶数的步骤包括: 若所述存储装 置内的闪存介质全部支持多阶读写技术, 则所述支持的晶粒内阶数为各 片闪存介质内所包含的阶数之和; 若有一片或多于一片的闪存介质不支 持多阶读写技术, 则所述支持的晶粒内阶数为 1。
10. 如前述任意一项权利要求所述的提高存储装置数据存取速度的 方法, 其特征在于, 所述根据闪存介质的闪存特性设置配置参数的步骤 包括: 根据所述闪存介质每阶内包含的物理块数以及每块内的页数确定 阶绑定页增量。
11. 如前述任意一项权利要求所述的提高存储装置数据存取速度的 方法, 其特征在于, 所述根据所述闪存特性设置配置参数的步骤包括: 信息记录表。
12. 如前述任意一项权利要求所述的提高存储装置数据存取速度的 方法, 其特征在于, 所述根据配置参数绑定物理块的步骤包括:
读取所述配置参数; 以及
根据所述配置参数确定绑定方式。
13. 如权利要求 12所述的提高存储装置数据存取速度的方法, 其特 征在于, 在所述存储装置内包含多于一片的闪存介质, 并且各片闪存介 质全部支持内部交叉读写技术的情况下, 所述根据配置参数绑定物理块 的步骤包括:
根据所确定的绑定方式, 从多片闪存介质中的晶粒中分别顺序取未 经绑定的多个物理块;
将所述多个物理块绑定成一个绑定块; 以及
为所述绑定块分配物理地址, 建立绑定对照关系。
14. 如权利要求 12所述的提高存储装置数据存取速度的方法, 其特 征在于, 在所述存储装置的闪存介质全部支持多阶读写技术情况下, 所 述根据配置参数绑定物理块的步骤包括:
根据所确定的绑定方式, 从所述闪存介质中晶粒的各阶中分别顺序 取未经绑定的多个物理块;
将所述多个物理块绑定成一个绑定块; 以及
为所述绑定块分配物理地址, 建立绑定对照关系。
15. 如权利要求 13或 14所述的提高闪存存储装置存取速度的方法, 其特征在于, 对所述绑定的物理块进行数据读或写操作的步骤进一步包 括:
根据所述绑定对照关系对所述绑定块进行数据读或写操作; 以及 进行其他物理块的绑定操作。
16. 如权利要求 13或 14所述的提高闪存存储装置存取速度的方法, 其特征在于, 所述根据配置参数绑定物理块的步骤进一步包括:
在生成所述一个绑定块并建立该绑定块的绑定对照关系后, 继续进 行其他物理块的绑定, 直至完成全部物理块的绑定; 以及
将全部物理块绑定后生成的绑定对照关系存入所述存储装置中。
17. 如权利要求 16所述的提高闪存存储装置存取速度的方法, 其特 征在于, 对所述绑定的物理块进行数据读或写操作的步骤包括:
根据所述存储装置内的绑定对照关系对所述绑定块进行数据读或写 操作。
18. 如权利要求 13-17 中任意一项所述的提高闪存存储装置存取速 度的方法, 其特征在于, 在闪存介质绑定后对其进行数据写入操作的步 骤包括:
接收写入数据的命令, 执行写数据操作;
判断是否为最后一个外部交叉读写操作, 若否则根据所述绑定对照 关系, 使用外部交叉读写技术进行写数据操作;
判断是否为最后一个内部交叉读写操作, 若否则根据所述绑定对照 关系, 使用内部交叉读写技术进行写数据操作;
判断写数据操作是否执行到最后一个阶, 若否则根据所述绑定对照 关系 , 使用多阶读写技术进行写数据操作。
19.一种存储装置, 包括:
控制模块( 10 ), 所述控制模块( 10 ) 包括闪存介质处理模块 ( 50 ) 和寄存器序列模块(60 ); 以及
存储模块(40 ), 包括一片或多片能够存储数据的闪存介质, 所述存 储模块 ( 40 ) 内存储有根据所述闪存介质的闪存特性设置的配置参数, 其中, 所述闪存介质处理模块(50 )与所述存储模块(40 )通信, 以根据所述存储模块(40 ) 内存储的配置参数进行所述存储模块 ( 40 ) 内物理块的绑定, 并对所述绑定的物理块进行数据读或写操作。
20. 如权利要求 19所述的存储装置, 进一步包括: 配置模块(30), 用于生成所述配置参数, 并将其写入所述存储模块 (40)。
PCT/CN2009/070736 2008-03-11 2009-03-11 提高闪存介质数据存取速度的方法及采用该方法的装置 WO2009111981A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200810007361.3 2008-03-11
CN200810007361.3A CN101533663B (zh) 2008-03-11 2008-03-11 提高闪存介质数据存取速度的方法

Publications (1)

Publication Number Publication Date
WO2009111981A1 true WO2009111981A1 (zh) 2009-09-17

Family

ID=41064762

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2009/070736 WO2009111981A1 (zh) 2008-03-11 2009-03-11 提高闪存介质数据存取速度的方法及采用该方法的装置

Country Status (2)

Country Link
CN (1) CN101533663B (zh)
WO (1) WO2009111981A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115687171A (zh) * 2022-10-26 2023-02-03 深圳三地一芯电子有限责任公司 闪存块绑定方法、装置、设备及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI512609B (zh) * 2014-09-05 2015-12-11 Silicon Motion Inc 讀取命令排程方法以及使用該方法的裝置
CN107678686B (zh) * 2017-09-19 2020-07-14 山东存储之翼电子科技有限公司 基于硬件实现闪存的ftl功能的方法及其数据存储装置
CN111506255B (zh) * 2019-01-31 2023-09-26 山东存储之翼电子科技有限公司 基于nvm的固态硬盘元数据管理方法及系统
CN113111013B (zh) * 2021-04-19 2023-09-01 深圳芯邦科技股份有限公司 一种闪存数据块绑定方法、装置及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1635580A (zh) * 2003-12-31 2005-07-06 深圳市朗科科技有限公司 闪存介质数据写入方法
CN101000580A (zh) * 2006-12-30 2007-07-18 北京中星微电子有限公司 Nand闪存信息提取方法和nand闪存自动识别方法
KR100773400B1 (ko) * 2006-10-26 2007-11-05 삼성전자주식회사 멀티 비트 플래시 메모리 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100608592B1 (ko) * 2004-01-27 2006-08-03 삼성전자주식회사 플래시 메모리의 데이터 관리 장치 및 방법
CN100501683C (zh) * 2006-07-07 2009-06-17 上海晨兴电子科技有限公司 对产品中所使用的闪存型号的自动识别方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1635580A (zh) * 2003-12-31 2005-07-06 深圳市朗科科技有限公司 闪存介质数据写入方法
KR100773400B1 (ko) * 2006-10-26 2007-11-05 삼성전자주식회사 멀티 비트 플래시 메모리 장치
CN101000580A (zh) * 2006-12-30 2007-07-18 北京中星微电子有限公司 Nand闪存信息提取方法和nand闪存自动识别方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115687171A (zh) * 2022-10-26 2023-02-03 深圳三地一芯电子有限责任公司 闪存块绑定方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN101533663A (zh) 2009-09-16
CN101533663B (zh) 2014-07-16

Similar Documents

Publication Publication Date Title
US8429358B2 (en) Method and data storage device for processing commands
US7472251B2 (en) Data storage apparatus detachably mounted to a host apparatus
TWI421684B (zh) 可再程式化非揮發性記憶體系統以及操作ㄧ非揮發性記憶體系統之方法
TWI302707B (en) Mass storage device having both xip function and storage function
TWI473116B (zh) 多通道記憶體儲存裝置及其控制方法
US20090132752A1 (en) Interface for Non-Volatile Memories
US11630766B2 (en) Memory system and operating method thereof
US20070214309A1 (en) Nonvolatile storage device and data writing method thereof
US20060129750A1 (en) Method and apparatus for storing multimedia data in nonvolatile storage device in units of blocks
JP4317166B2 (ja) データを転送するインタフェースを有する光記憶システム
TWI479502B (zh) 固態碟片控制器及其資料處理方法
US7356646B2 (en) Memory card using NAND flash memory and its operating method
US7526600B2 (en) Data management device and method for flash memory
US20110258372A1 (en) Memory device, host device, and memory system
JP2009510594A (ja) Slc及びmlcフラッシュメモリを使用するポータブルデータ記憶装置
JPWO2005029311A1 (ja) 半導体メモリカード、半導体メモリ制御装置及び半導体メモリ制御方法
JP2007193883A (ja) データ記録装置及び方法、及びデータ再生装置及び方法、並びにデータ記録再生装置及び方法
CN111796759B (zh) 多平面上的片段数据读取的计算机可读取存储介质及方法
KR101204163B1 (ko) 반도체 기억 장치
US20080250189A1 (en) Circuit and Method for Improving Operation Life of Memory
WO2009111981A1 (zh) 提高闪存介质数据存取速度的方法及采用该方法的装置
JP2006514386A (ja) ドライブ装置、プログラム
CN109656834B (zh) 数据管理方法以及数据储存系统
CN114253461A (zh) 混合通道存储设备
CN114253462A (zh) 提供混合通道存储设备的方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09719563

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09719563

Country of ref document: EP

Kind code of ref document: A1