WO2004021191A1 - 半導体メモリ装置、及び、フラッシュメモリへのデータ書き込み方法 - Google Patents
半導体メモリ装置、及び、フラッシュメモリへのデータ書き込み方法 Download PDFInfo
- Publication number
- WO2004021191A1 WO2004021191A1 PCT/JP2003/010718 JP0310718W WO2004021191A1 WO 2004021191 A1 WO2004021191 A1 WO 2004021191A1 JP 0310718 W JP0310718 W JP 0310718W WO 2004021191 A1 WO2004021191 A1 WO 2004021191A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- page
- data
- block
- transfer
- destination
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Definitions
- the present invention relates to a semiconductor memory device including a flash memory, and a method for writing data to the flash memory. About. In particular, it concerns how to write data to that flash memory.
- BACKGROUND ART Information processing equipment and more recently, home appliances such as televisions and refrigerators, have a built-in cpu, and realize sophisticated operation control by software. These devices store programs (firmware) for operation control and parameters in non-volatile memory.
- a semiconductor memory device including a flash memory is frequently used.
- Semiconductor memory devices also include notebook computers, personal digital assistants (PDAs), digital cameras, portable audio players, and mobile phones. It is widely used in portable information processing equipment (mobile devices) such as telephones, for example, as an external small recording medium such as a memory card. Especially in these applications, semiconductors It is desirable that the body memory device be large in capacity and small.
- Flash memory storage is generally divided into a number of pages for each fixed number of memory cells. Data is written and read out on a page-by-page basis. The storage area is further divided into blocks for a fixed number of pages. The overnight erasure is performed collectively for each block. Therefore, in flash memory, unlike RAM, overwriting every data page cannot be performed in a strict sense.
- the conventional semiconductor memory device rewrites the data stored in some pages of the flash memory (hereinafter referred to as page rewriting). ) And writing new data to a page where no data has been written (hereafter referred to as “page addition”). It is realized as follows.
- FIG.9 describes the rewriting or appending of pages in one block of flash memory 1 by a conventional semiconductor memory device. This is the diagram for
- the conventional semiconductor memory device has a flash memory 1 and two RAMs, an evacuation buffer 20 and a page buffer 2. Flash memory 1 is divided into a plurality of blocks B0, B1,.... The physical address is assigned to each of blocks B0, B1,.... Each block contains 32 pages.
- the first block (that is, the first block) B0 includes the pages P0, Pl,..., P31, and the (n + 1) th block Bn ( n ⁇ l) are pages Q0, Ql, 2003/010718
- a page within a block is identified by the physical address of the block and the page number within the block.
- the page number is, for example, a serial number from 0 to 31 assigned to each page in order from the first page of the block.
- the save buffer 20 and the page buffer 2 each have substantially the same storage capacity as one page of the flash memory 1.
- the host sends a logical address indicating a write destination page and data to be written to the semiconductor memory device.
- the semiconductor memory device stores the write target data DN in the page buffer 2.
- the semiconductor memory device specifies a corresponding page in the flash memory 1 from its logical address. For example, when the logical address indicates the (p + 1) page ⁇ (0 ⁇ ⁇ 31) of the first block B0, the semiconductor memory device outputs the logical address.
- the address is converted into a pair of the physical address of the first block B0 and the page number p of the page (p + 1) page Pp.
- the physical address is specified as a physical address of a block from which data is transferred (hereinafter, referred to as a transfer block).
- the semiconductor memory device continues from the flash memory 1 to a block in which data has not been written (hereinafter, a block in which data has been erased). )). For example, the semiconductor memory device selects the (n + 1) th block Bn which is a data erased block.
- the physical address of the (n + 1) th block Bn is the block to which the data stored in the source block B0 is transferred (hereinafter referred to as the transfer block).
- the conventional semiconductor memory device transfers the data stored in the source block B0 to the destination block Bn as follows. First, the data DO of the leading page P0 of the transfer source block B0 is read out to the save buffer 20 (see the arrow R0 shown in FIG. 9). . Next, the data D0 of the evacuation buffer 20 is written to the first page Q0 of the transfer destination block Bn (see arrow WO shown in FIG. 9). ). Subsequently, the data D1 of the second page P1 of the transfer source block B0 is read out to the save buffer 20 (see the arrow R1 shown in FIG. 9). See). Next, the data D1 of the save buffer 20 is written to the second page Q1 of the transfer destination block Bn (see the arrow W1 shown in FIG. 9). .
- Write destination page of transfer source block B0 (page (p + 1))
- Pp is set to the original page from which data is read
- the semiconductor message is read.
- the memory device skips the data transfer to the save buffer 20 for that page. Instead, the data to be written held in the page buffer 2 is stored in the (p + 1) page Qp of the transfer destination block Bn.
- the DN is written (see arrow Wp shown in FIG. 9).
- the write destination page of the transfer source block B0 The page following the Pp (the (p + 2) th page) is returned again, and the data from the evacuation buffer 20 is returned. The data transfer is repeated. Data D31 of the last page P31 of the transfer source block B0 is It is written to the final page Q31 of the transfer destination block Bn via the evacuation buffer 20 (see arrows 1131 and 1 ⁇ 31 shown in 10.9).
- the semiconductor memory device associates a logical address corresponding to the physical address of the transfer source block B0 with a physical address of the transfer destination block Bn. .
- the data of the (p + 1) ⁇ -th page with the page number p is rewritten as compared with the source block B0; the data of Pp is rewritten. ing .
- the conventional semiconductor memory device realizes page rewriting and additional writing for one block of the flash memory 1.
- Semiconductor memory devices must be as large and small as possible. However, it is not easy to improve the integration of the flash memory device. Therefore, it is desired to reduce the size of the circuit portion other than the flash memory device. For example, when each of a plurality of functional parts includes a common circuit part, the common parts are integrated into one, and the integrated part is divided into a plurality of functional parts. Shared. It is hoped that this will reduce the number of those common parts. Reducing the size of the semiconductor memory device is more desirable because it reduces the manufacturing cost by reducing the chip area. As described above, the conventional semiconductor memory device has two RAMs, an evacuation buffer and a page notifier. These RAMs are used as off-chip memory, and have a storage capacity that is substantially equivalent to one page of flash memory.
- the present invention combines the evacuation notch with the base notch.
- the aim is to provide a semiconductor memory device in which the size of the RAM is reduced by unifying it into a RAM, and thereby the size is reduced.
- the semiconductor memory device comprises:
- An address conversion unit for converting the physical address of the block (called a block) into a pair with the logical page number of the write destination page; and (D) (a) Reads the physical address of the transfer source block and the logical page number of the write destination page, and (b) Reads the data erased block.
- the physical page number of the write destination page is obtained based on the offset and the logical page number of the write destination page, and (f ) Write the data to be written, which is transferred from the host to the page buffer, in order from the first page of the destination block, and write (g) Transfer of source block based on number of pages of data to be written and physical page number of destination page Physical page of start page The page number of the transfer destination block where the data to be written has been written, and from the next page after the next page in the transfer source block.
- the logical page number is a serial number that is assigned to each page in flash memory by the host.
- the physical page number is assigned to each page from the first page of each block in the flash memory, starting from the first page of each block.
- One of the block Geooffset refers to the cyclic shift between the logical page order and the physical page order in the package.
- the block's color-the dif- set is preferably equal to the logical page number of the first page of the block.
- the above-described semiconductor memory device according to the present invention stores a single geo-fset of each block in the flash memory. In this case, the actual ⁇ shirt, which may be the logical set number of a specific page, in addition to the cache set itself, may be used. .
- the page offset storage area is preferably a redundant area at the top of each block.
- the redundant area of a page is a storage area that is accessed independently of the data area of the page. In the redundant area, for example, a logical address corresponding to the page, a flag indicating whether the page is free or not, and a write on the page. A flag indicating the validity / invalidity of the imprinted data (that is, whether or not the host can access), and an error detection code for that data (eg, For example, CRC) is stored.
- the storage location of the page offset is independent of the flash offset memory in addition to the page offset storage area in the flash memory described above. Any non-volatile memory (hereinafter referred to as page-offset storage unit) may be used.
- the page offset storage is included, for example, in the memory controller.
- the page buffer is RAM, and is preferably SRAM.
- the number of copies of the data to be written is the number of copies in the flash memory expressed in units of the storage capacity per page in the flash memory. Subject 7 The halo of the evening. Write target table Evening ⁇ The number of pages is equal to the number of pages in the page area of the destination block where the data to be written has been written.
- the logical page number of each page in the flash memory is changed from the physical page number to the block number. It is okay to shift cyclically from one place to another.
- the physical page number of each page is calculated based on the logical page number of that page and the page offset of the block to which the page belongs. Will be issued.
- the above semiconductor device according to the present invention is used. First, the memory device transfers the write data to be transferred from the host to the page buffer to the destination block and from the first page to the destination block. Write in order. Therefore, before starting the evacuation processing for the transfer source block, the ginoffer is released.
- the above-described semiconductor memory device according to the present invention can also use the page buffer as an evacuation notch at the time of the evacuation processing of the source block. Wear .
- the above-described semiconductor memory device according to the present invention has a smaller RAM size than conventional devices. Therefore, when the size of the flash memory is fixed, according to the present invention, the -t semiconductor memory device has a smaller overall size than the conventional device. No.
- the semiconductor memory device described above according to the present invention is provided with: (a) a logical address and a write address of a write destination page sent from a host; A host interface for receiving the target data and the data; and (b) a block in the flash memory.
- a logical address / physical address conversion table showing the correspondence between the physical and physical addresses and the 15 book physical address
- the flag to indicate the power ⁇ of each of the blocks that have been erased on the day and night is shown in the B fe-9 address conversion en 'section.
- the above memory control unit counts the number of pages of the data to be written, and when the number of pages reaches a predetermined number, or When the end of the sending of the data to be written is notified from the host, the transfer of the data from the original block to the destination block is started. Is also good.
- the address translation table 'LB is preferably RAM.
- the logical address / physical address conversion table contains the logical address and the logical address assigned to each block in the flash memory. 5 is a table showing a correspondence relationship between the physical address of the book and the block.
- the host-in-home interface is independent of the memory controller, the data communication between the host and the semiconductor memory device is performed by flash memory. Writing / reading data in memory is performed independently. This reduces the host's waiting time, for example, for writing data to flash memory.
- the address conversion unit scans, for example, a redundant area of a page in the flash memory. This restores the logical address of each block in flash memory. In this way, the address conversion unit creates a logical address Z physical address conversion table and stores it in the address conversion table storage unit.
- the address conversion unit is a logical address based on the write destination. When the address is converted to a pair of the physical address of the block and the logical page number of the write destination page, a logical address / physical address is obtained. Refer to the conversion table. According to this, the physical address corresponding to the logical address can be quickly searched.
- the address conversion unit further performs a data erased block for each block based on the data stored in the scanned redundant area. Check if it is. As a result, the above flag is determined for each of the blocks and stored in the address conversion table storage section.
- the memory control unit refers to the above flag when one of the blocks that have been erased overnight is selected as the transfer destination block. Thereby, the transfer destination block can be determined quickly and / or quickly. '
- the memory control unit transfers data to be written from the host to the destination buffer from the host to the destination block.
- the host may notify the semiconductor memory device of the end of the transmission of the data to be written to the semiconductor memory device by, for example, a predetermined command.
- the memory control unit can detect the number of pages to be written and the number of pages to be written from the above-mentioned number of transfers at the time of receiving the notification.
- the memory control unit starts the transfer of data from the source block to the destination block.
- the host may write the number of pages of data to be written to the semiconductor memory device and notify the semiconductor memory device in advance of sending the data in the evening. No.
- the memory controller transfers the "a" -t L When the number of times reaches the predicted number of pages, the data transfer from the source blocker to the destination block is started.
- the method of writing data to flash memory according to the present invention is as follows:
- (A) a step of receiving from the host a logical address specifying a write destination page
- (B) a step of converting the logical address into a pair of a physical address of a source block and a logical page number of a write destination page;
- (C) a step of selecting one of the blocks from which data has been erased as a destination block
- the page offset of the transfer destination block is determined based on the logical page number of the write destination page, and the page age offset is determined.
- each logical page number in the flash memory is changed from the physical page number to the physical page number. It may be possible to shift cyclically for each lock.
- the physical page number of each page is assigned to the logical page number of the page and the page offset of the block to which the page belongs. Is calculated. Writes that are transferred from the host to the page buffer when the host is instructed to replace or add a page in the block
- the target data is first written to the transfer destination block, starting from the top page of the umbilical.
- evacuation processing is started for the transfer source block. Before the original buffer is released. Therefore, at the time of the evacuation processing, the page) buffer can be also used as the evacuation buffer.
- the above-mentioned evening writing method requires a smaller RAM size than the conventional method. Therefore, when the size of the frame memory is fixed, the size of the entire semiconductor memory device is smaller than that of the conventional device.
- the number of pages in the page area of the transfer destination block in which the data to be written has been written.
- the transfer source is notified. It may have a step to start the de-inversion from the block to the destination block. For example, each time the data to be written is sent to a single buffer or to a destination block, the number of transfers is counted.
- the host may notify the semiconductor memory device of the end of the transmission of the data to be written to the semiconductor memory device by, for example, a predetermined command.
- the number of pages in the above-mentioned page area is detected from the above-mentioned number of transfers at the time of receiving the notification. Further, at the time of the notification, the transfer of data from the vertex block to the destination port is started. In addition to this, even if the host notifies the semiconductor memory device of the number of pages to be written and the number of pages to be written in advance, the host notifies the number of pages to be written in advance. Good. In this case, when the number of transfers reaches the number of pages notified, the transfer from the source block to the destination block is started. Be done In the above-described semiconductor memory device and the method of writing data according to the present invention, a page is required before the evacuation process is started for the transfer source block. The buffer is released.
- the page buffer can be also used as the evacuation buffer.
- the above-mentioned semiconductor memory device has a smaller RAM size than the conventional device. Therefore, when the size of the flash memory is fixed, the above-described semiconductor memory device according to the present invention has a larger overall size than the conventional device. Smallness. In particular, since the chip area is small, the manufacturing cost of the above-described semiconductor memory device according to the present invention is lower than that of the conventional device.
- FIG. 1 is a block diagram showing a semiconductor memory device 10 according to an embodiment of the present invention.
- FIG. 2 is a schematic diagram showing an outline of the configuration of a cell array in the flash memory 1 according to the embodiment of the present invention.
- FIG. 3 is transferred from the host H to the page buffer 2 with respect to the semiconductor memory device 10 according to the embodiment of the present invention.
- the memory control unit 6 performs a transfer process to the flash memory 1 from the page buffer 2 for the write target data DN8 to DN12.
- FIG. 3 is transferred from the host H to the page buffer 2 with respect to the semiconductor memory device 10 according to the embodiment of the present invention.
- the memory control unit 6 performs a transfer process to the flash memory 1 from the page buffer 2 for the write target data DN8 to DN12.
- FIG. 1 is transferred from the host H to the page buffer 2 with respect to the semiconductor memory device 10 according to the embodiment of the present invention.
- FIG. 4 shows a semiconductor memory device 10 according to an embodiment of the present invention, in which the memory control unit 6 continues the data transfer processing shown in FIG.
- FIG. 14 is a diagram showing the first half of the data transfer process from the transfer source block B0 to the transfer destination block Bn.
- FIG. 5 is a circuit diagram of a semiconductor memory device 10 according to an embodiment of the present invention, in which a memory control unit 6 performs a data transfer process shown in FIG.
- FIG. 21 is a diagram illustrating the latter half of the data transfer process that is subsequently performed from the source block B0 to the destination block Bn.
- FIG. 6 is a flowchart of a method for writing data in the semiconductor memory device 10 according to the embodiment of the present invention.
- FIG. 7 shows a method of writing data in the semiconductor memory device 10 according to the embodiment of the present invention, and shows a transfer destination block from the page buffer 2 to the transfer destination block.
- the transfer of data DN (q) to DN (q + m-1) to be written to block Bn (step S7) can be performed by a flow chart.
- FIG. 8 shows a method of writing data in the semiconductor memory device 10 according to the embodiment of the present invention, which is described in detail from a transfer source block B0 to a transfer destination block Bn. This is a flowchart of the data transfer (step S8) to the server.
- FIG.9 describes the rewriting or appending of a page in one block of flash memory 1 by a conventional semiconductor memory device. It is a diagram for the purpose. Part or all of the drawing is depicted in a schematic representation for illustrative purposes, and is not necessarily limited to the actual aspect of the element shown in the drawing. The size and position of the object were not always faithfully described. Best mode for carrying out the invention The following describes the best mode for carrying out the present invention with reference to the drawings.
- FIG. 1 is a block diagram showing a semiconductor memory device 10 according to an embodiment of the present invention.
- the semiconductor memory device 10 is connected to the host H and an external node 7.
- the host H is, for example, an information processing device such as a personal computer, or a mobile device such as a PDA or a mobile phone.
- the semiconductor memory device 10 may be built in the host H or may be externally attached.
- the flash memory 1 is preferably a NAND type EEPROM (electrically erasable and writable nonvolatile memory).
- FIG. 2 is a schematic diagram showing an outline of the configuration of the cell array in the flash memory 1.
- a cell array is a set of blocks B0, Bl, B2,.... Each block contains, for example, 32 pages.
- the first block B0 has 32 pages P0 ⁇ ! >> 31 is included.
- flash memory 1 data is erased only for one block at a time.
- Each page is (512 + 16) rows x 8 memories Contains a two-dimensional array of cells.
- eight memory cells are connected in NAND type to form one column.
- 512 rows of memory cells constitute a data area DA, and the remaining 16 rows of memory cells are redundant areas RA.
- flash memory 1 the writing and reading of data are performed page by page.
- the data area DA and the redundant area RA are accessed independently of each other.
- One memory cell for example, stores one bit of text.
- the NAND-type EEPR0M data stored in one row of memory cells is input and output at the same time as one mode.
- the data area DA of the cell array is calculated from the above configuration, the data area DA is 512 bytes per page, and 512 bytes per block. It has a storage capacity of X 32 x 16kB.
- the redundant area RA stores the attributes of the data stored in the data area DA of the page to which the redundant area RA belongs. For example, the logical address corresponding to the page to which it belongs, a flag indicating whether the page is a free page, or a write on that page. Flag indicating the validity of the input data Z (invalid access by the host) or an error detection code for that data ( For example, CRC).
- the data is divided into pages.
- Data is written to the data area DA of each page in order from the first page of the erased block .
- the logical page order in each block is changed from the physical page order to the cyclic order as follows. It is good to be off target.
- Each of page P31 stores data D2, D3,..., D31, D0, and D1.
- the numerical value next to the sign P indicating the page of the first block B0 indicates the physical page number of each page. Furthermore, the numerical value next to the code D indicating the data stored in each of the pages P0 to P31 indicates the logical page number of each page. That is, the logical page number of each of the pages P0 to P31 of the first block B0 is cyclically shifted from the physical page number by a fixed number “2”.
- the cyclic shift between the logical page order and the physical page order is generally different for each block.
- This cyclic shift is called the page offset of the block. ⁇ -The offset is equal to the logical page number on the first page of the block.
- the page offset is represented by an integer from 0 to 31 and is stored in the page offset storage area of each block. It is memorized.
- the page offset storage area is, for example, the redundant area RA of the first page of each block.
- the page offset "2" of the first block B0 is stored in the redundant area RA of the first page P0.
- the initial offset is the first It may be stored in the redundant area RA on another page.
- the data to be stored at that time may be the page offset itself or the logical page number of the page.
- the semiconductor memory device 10 calculates the page offset from the difference between the logical page number and the physical page number of the page. Wear .
- the host interface 3 relays data between the external noss 7 and the internal noss 8, and has a semiconductor memory device 1. Data exchange between each functional unit in 0 and the host H is realized.
- the host interface 3 receives a data read instruction for the flash memory 1 from the host H
- the host interface 3 receives the instruction. It decodes the read instruction and sends the logical address specifying the original page to be read to the address conversion unit 4.
- the host interface 3 was further transferred from the flash memory 1 to the page buffer 2 by the memory control unit 6.
- the data to be read is sent out to the host H through the external noss 7.
- the host interface 3 receives a data write instruction from the host H to the flash memory 1, the host interface 3 receives the instruction.
- the write instruction is decoded, and a logical address specifying the page to which the data is to be written is sent to the address conversion unit 4.
- the host interface 3 further receives the write target data received from the host H, passes the internal bus 8 through the page bus, and outputs the data to be written. Transfer to Key2.
- the page buffer 2 is preferably SRAM and is exchanged between the host interface 3 and the memory control unit 6. Temporary data.
- the storage capacity of the page buffer 2 is, for example, 512 bytes, and the storage of one page (the data area DA thereof) in the flash memory 1 is performed. Substantially equal to capacity
- the address conversion unit 4 inputs a logical address from the host interface 3.
- the logical address for example, the upper bit is the logical address (logical block address) of one block in the flash memory 1. ), And the lower bit indicates the logical page number of one page in the block.
- the address conversion unit 4 divides the input logical address into a logical block address and a logical page number.
- the address conversion unit 4 accesses the address conversion table storage unit 5.
- the address conversion table storage unit 5 is preferably a RAM, and stores a logical address / physical address conversion table L.
- the address conversion unit 4 is based on the logical address Z physical address conversion table L, and based on the logical block address, the block of the block corresponding to the logical block address.
- the logical address / physical address conversion table L is assigned to each of the valid blocks in the flash memory 1. This is a table in which the logical block addresses correspond to the physical addresses of the blocks. For example, when the semiconductor memory device 10 starts up, the address conversion unit 4 sets the redundant area RA of the first page of each block in the flash memory 1. Scan. As a result, the valid block in flash memory 1 is Restores the logical block address of the block. In this way, a logical address Z physical address conversion table L is created and stored in the address conversion table storage unit 5.
- the address conversion table storage unit 5 includes, in addition to the logical address / physical address conversion table L, for example, a block of the flash memory 1.
- a flag F is stored to indicate whether or not each block is a data erased block.
- the address conversion unit 4 performs each of the blocks based on the data stored in the redundant area RA of each block in the flash memory 1. Then, check whether the block is a data erased block or not and determine the above-mentioned flag F.
- the address conversion unit 4 further stores the flags F in the address conversion table storage unit 5.
- the memory control unit 6 stores the flash memory 1 in the flash memory 1 based on the pair of the physical address input from the address conversion unit 4 and the logical page number. Identify one page.
- the memory control unit 6 reads data from the specified page and executes Z-writing. For example, at the time of receiving a read command from the host H, the memory control unit 6 is first converted from the address of the destination of the read command. The physical address is input from the address conversion unit 4 and the block in the flash memory 1 corresponding to the physical address is specified. Specify. Next, the memory control unit 6 reads the page offset of the block from the redundant area of the first page of the block. The memory control unit 6 corresponds to the logical page number based on the page offset and the logical page number input from the address conversion unit 4. Identify the physical page number you want to use. The memory control unit 6 reads out the data stored on the page having the physical page number from the flash memory, and reads the data from the page. Transfer to File 2.
- FIGS. 3 to 5 are diagrams for explaining a method of writing data by the memory control unit 6.
- FIG. 3 shows the data to be written DN8 to DN12 transferred from the host H to the page knocker 2 (the numerical value next to the code DN indicates the logical page number) 3) shows a transfer process from the page buffer 2 to the flash memory 1 which is performed by the memory control unit 6 in FIG.
- the logical page number of the write destination page indicated by the destination address of the write instruction is “8”.
- FIG. 4 and FIG. 5 respectively show the transfer source block B 0 that the memory control unit 6 performs following the data transfer processing shown in FIG. This shows the first half and the second half of the data transfer processing to the transfer destination block Bn.
- the memory control unit 6 inputs a physical address from the address conversion unit 4. At that time, the memory control unit 6 specifies a block in the flash memory 1 corresponding to the physical address as a transfer source block. You For example, in FIG. 3-5 In this case, the first block (first block) B0 is identified as the transfer source block. The memory control unit 6 then proceeds to the first page of the source block B0 (first page) from the redundant area RA of P0 to the page offset of the source block B0. Read out "2".
- the data area DA of the source block B0 contains data D0, D1,..., D31 (the value next to the code D is the logical page of the page that stores the data. Indicating the page number) is stored. As shown in FIG.
- pages P 0, P 1,..., P 31 may include a page in which data has been erased (blank).
- the difference is generally ⁇ 31 or more and 31 or less.
- the memory control unit 6 specifies the difference as the physical page number of the write destination page.
- the memory control section 6 accesses the address conversion table storage section 5 and, based on the flag F stored therein, stores the address in the flash memory 1.
- One of the blocks whose data has been erased is selected as the transfer destination block.
- the (n + 1) th block Bn (n ⁇ l) is selected as the transfer destination block.
- all 32 pages Q0, Ql,..., Q31 are all blank. is there .
- the host interface 3 receives the write target data DN8 to DN12 sent from the host H, and writes them one by one to the page buffer 2.
- the memory control unit 6 transfers the write target data DN8 to DN12 one page at a time from the page buffer 2 to the transfer destination block Bn ( See the arrows shown in FIG.3).
- the data to be written DN8 to DN12 are written one page at a time starting from the first page Q0 of the transfer destination block Bn.
- the data to be written DN8 to DN12 are stored in the data area DA from the first page Q0 of the transfer destination block Bn to the fifth page Q4. (See FIG. 3).
- the memory control unit 6 further determines the logical page number “8” of the write destination page as the page offset of the destination block Bn, and transfers the page. Write to the redundant area RA of the first page Q0 of the first block Bn.
- the memory control unit 6 Each time the memory control unit 6 transfers the data to be written, DN8 to DN12, from the page buffer 2 to the transfer destination block Bn. Count the number of transfers.
- the host H notifies the semiconductor memory device 10 of the end of the transmission of the data to be written by using a predetermined command.
- the memory control unit 6 detects the command through the host interface 3. When the command is detected, the memory control unit 6 writes the data to be written based on the above-mentioned number of transfers, and stores the data in the storage areas Q0 to Q4 of the storage areas Q0 to Q4. Determine 5 ”. After that, the memory control unit 6 further starts data transfer from the transfer source block B0 to the transfer destination block Bn.
- Page buffer 2 is released before the start of data transfer from source block B0 to destination block Bn (hereinafter, block transfer). .
- the memory control unit 6 uses the page buffer 2 to execute block transfer as follows (see FIG. 4 and FIG. 5).
- P11 is the block It is specified as the start page of the block transfer (hereinafter referred to as the transfer start page) (see FIG. 4).
- the data D13,..., D31, D0, and D1 from the transfer start page P11 to the last page (the 32nd page) P31 are transferred as follows. Is transferred to the destination block Bn (see FIG. 4 See).
- the data D13, D14,..., D31, D0, D1 from the twelfth page P11 of the source block B0 to the last page P31 are the destination.
- the block Bn is transferred to the data area DA from the sixth page Q5 to the 26th page Q25.
- the memory control unit 6 continues from the first page P0 of the transfer source block B0 to the page immediately before the write destination page P6 (the sixth page). ) Transfer the data D2, D3,..., D7 up to P5 to the destination block Bn as follows (see FIG. 5). First, the data D2 of the leading page P0 of the transfer source block B0 is read out to the page bar V file 2 (see arrow R26 shown in FIG. 5). See). Further, the data D2 is written from the base buffer 2 to the transfer destination block Bn, page 27, Q26. Next, similarly, the data D3) of the second page P1 of the source block B0 is similarly stored in the second block Pn of the destination block Bn via the page buffer 2. Forwarded to page Q27. Page buffer like above
- page 6 Data up to P5 D2, D3,..., D7 are the destination block Bn page 27 of the transfer destination Qn Data is transferred to the data area DA up to the last page Q31.
- the physical page number of the transfer start page is the same as the physical page number of the write destination page and the storage area of the write target data overnight.
- the memory control unit 6 transfers the data from the transfer start page to the page immediately before the write destination page to the transfer destination block Bn, and sends the FIG. Transfer in the same way as the data transfer shown in .5.
- the logical page numbers of the transfer destination block Bn are "8" to "12" as compared with the source block B0.
- the logical page order changes cyclically, and the page offset changes from "2" to "8".
- the memory control unit 6 invalidates the data of the transfer source block B0 or erases the data at once.
- the address conversion unit 4 updates the logical address Z physical address conversion table L to match the physical address of the transfer source block B0.
- the logical address completed in the destination mode is made to correspond to the physical address of the transfer destination block Bn.
- the address conversion unit 4 further stores the data in the address conversion table storage unit 5 so as to indicate that the transfer source block B0 is a data erased block. Reset the flag F to be used. In this way, page rewriting and appending in one block of the flash memory 1 are realized.
- the memory control unit 6 writes the data from the page buffer 2 to the transfer block Bn to the first page of the transfer destination block Bn. Start with page Q0 and end with final page Q31. This writing order is the same as that of the conventional device. In this case, the data from the original Gino / Buffer to the destination block is
- FIG. 6 is a flowchart of a method of writing data by the semiconductor memory device 10.
- the host H sends a data write command.
- Hostinternal interface 3 receives the data write instruction and decodes the logical address of the write destination page. The host interface 3 further sends the logical address to the address conversion unit 4.
- the address conversion unit 4 performs logical conversion from the host interface 3 Receive the address. At that time, the address conversion unit 4 refers to the logical address physical address conversion table L, and stores the logical address in the transfer source block B0. This is converted to a pair of the logical address and the logical page number q (0 ⁇ q ⁇ 31) of the write destination page. The address conversion section 4 further sends the pair to the memory control section 6.
- the memory control unit 6 accesses the address conversion table storage unit 5 and, based on the flag F, deletes the data in the flash memory 1 from the erased block. Select one of the blocks, Bn, as the destination block.
- the source block B0 is a data erased block
- the source block B0 itself is set as a destination block Bn. Also good. In that case, the following steps S8 and S9 are skipped.
- the memory control unit 6 writes the logical page number q input from the address conversion unit 4 into the redundant area RA of the first page Q0 of the transfer destination block Bn. (See Fig. 3).
- the memory control unit 6 obtains the page offset p (0 ⁇ p ⁇ ) of the transfer source block B0 from the redundant area RA of the first page P0 of the transfer source block B0. 31) is read out.
- the host interface 3 receives the data DN (q), DN (q + l),... to be written from the host H (in parentheses next to the code DN). The sign indicates the logical page number.) The host interface 3 transfers the data to be written, DN (q), DN (q + 1),..., one page at a time to page buffer 2. Forward . The host interface 3 further notifies the memory control unit 6 of the transfer. The memory control unit 6 outputs the data DN (q) and DN (q + 1) of the page buffer 2 for each notification from the host interface 3. , ... are sequentially transferred from the top page Q0 of the transfer destination block Bn.
- FIG. 7 is a flowchart of the transfer.
- Substep SS71 When the above transfer is notified from the host interface 3 for the first time, the memory control section 6 sets the first integer variable k. Is initialized to 0.
- Substep SS72 The memory control unit 6 transfers the data of the page buffer 2 to the (k + 1) page Q (k) of the transfer destination block Bn.
- Substep SS73 Memory control section 6 is the first integer variable Increment k by one. In this way, the first integer variable k is transferred from the page buffer 2 of the data to be written DN (q), DN (q + 1),... to the destination block Bn. Indicates the number of transfer times.
- Substep SS74 Host H stops sending the data to be written, DN (q) to DN (q + m-1), at the end of sending. Issue a given command that indicates The host interface 3 detects the command. The memory control unit 6 accesses the host-in evening interface 3 and checks whether or not the command has been detected. If the command is not detected, the process is repeated from substep SS72. When that command is detected, processing proceeds to substep SS75.
- Substep SS75 The memory control unit 6 writes the first integer variable k when the command is detected, and the data to be written DN (q) to DN (q) + m— 1) Same as the number of pages m (1 ⁇ m ⁇ 32-q) in storage area Q0 to Q (m-1).
- the memory control unit 6 starts data transfer (block transfer) from the transfer source block B0 to the transfer destination block Bn.
- FI G.8 is a flowchart of the block transfer.
- Substep SS81 The memory control unit 6 initializes the second integer variable i to 0.
- Substep SS82 The memory control unit 6 stores the physical page number r (see step S6) of the write destination page and the data to be written. Storage area of data DN (q) to DN (q + m—1) Q0 to Q (m— Add the number m of pages in 1) and the second integer variable i. If the sum i '+ m + i is less than 32 (r + m + i ⁇ 32), the process proceeds to substep SS83. When the sum r + m + i is 32 or more (r + m + i ⁇ 32), the processing branches to the substep SS85.
- Substep SS83 The memory control unit 6 stores the data in the (r + m + i + 1) page P (i '+ m + i) of the transfer source block B0. D — D (q + m + i) is transferred to the destination block ⁇ at the (m + i + 1) page Q (m + i) via the page buffer 2 Transfer (see Fig. 4).
- the symbols in parentheses next to the symbols P and D indicate the physical page number and the logical page number, respectively.
- Substep SS84 The memory control unit 6 increases the second integer variable i by one. After that, the processing is repeated from the sub-step SS82.
- the data D () from the (r + m + 1) page P (r + m) to the 32nd page (final page) P31 of the source block B0 q + m), D (q + m + 1),..., D (p-1) are the (m + 1) ⁇ Qm of the transfer destination block Bn from the (32—r )
- Data up to page Q (31_r) are transferred to the evening area DA (see FIG. 4).
- Substep SS86 The memory control unit 6 compares the third integer variable j with the physical page number r of the write destination page.
- the second integer variable when j is less than the physical page number r of the write destination page (j ⁇ r), the processing proceeds to substep SS87.
- Substep SS87 The memory control unit 6 transfers the data D (p + j) of the (j + 1) th page P (; j) of the source block B0 to the destination. Transfer to block Bn's (33_r + j) page Q (32_r + j) via page buffer 2 (see FIG. 5).
- Substep SS88 The memory control unit 6 increases the third integer variable j by one. After that, the processing is repeated from the substep SS86.
- the data D (p),..., D (q—1) from the first page P0 of the source block B0 to the r-th page P (r-1). Is transferred to the data area DA from the (33-r) page Q (32-r) to the 32nd page (final page) Q31 of the transfer destination block Bn. (See FIG. 5).
- transfer source block B0 Q + m-p + 1) page P (q + m-p) force
- the data up to r -th page P (r-1) D (q + m), ... , D31, D0,..., D (q-1) are transferred from the (m + 1) th page Qm of the transfer destination block Bn to the 32nd page (final page) Q31.
- the data is transferred to the previous data area DA.
- the memory control unit 6 deletes or invalidates the data of the transfer source block B0 at once.
- the address conversion unit 4 updates the logical address Z physical address conversion table L and updates the logical address corresponding to the physical address of the transfer source block B0.
- the address corresponds to the physical address of the destination block Bn.
- the address conversion unit 4 further stores the data in the address conversion table storage unit 5 so as to indicate that the transfer source block B0 is a block from which data has been erased. Reset the flag F to be set.
- the semiconductor memory device 10 is capable of rewriting or rewriting a page in one block of the flash memory 1 when writing to the original memory. As a place to save the data of the block
- the device does not have an evacuation buffer different from the page buffer 2.
- the size of the RAM is smaller than that of the conventional device. Therefore, the size of the entire apparatus can be reduced.
- the semiconductor memory device realizes miniaturization by integrating a page notch and an evacuation buffer. Therefore ,
- the invention has extremely high industrial applicability.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Description
Claims
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004532699A JP4358111B2 (ja) | 2002-08-29 | 2003-08-25 | 半導体メモリ装置、及び、フラッシュメモリへのデータ書き込み方法 |
US10/486,960 US7107389B2 (en) | 2002-08-29 | 2003-08-25 | Semiconductor memory device and method for writing data into flash memory |
CA002461446A CA2461446A1 (en) | 2002-08-29 | 2003-08-25 | Semiconductor memory apparatus and method for writing data into the flash memory device |
US12/016,751 USRE42648E1 (en) | 2002-08-29 | 2003-08-25 | Semiconductor memory apparatus and method for writing data into the flash memory device |
EP03791270A EP1533702A4 (en) | 2002-08-29 | 2003-08-25 | SEMICONDUCTOR MEMORY AND METHOD FOR RECORDING DATA IN A FLASH MEMORY |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002/251194 | 2002-08-29 | ||
JP2002251194 | 2002-08-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2004021191A1 true WO2004021191A1 (ja) | 2004-03-11 |
Family
ID=31972668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2003/010718 WO2004021191A1 (ja) | 2002-08-29 | 2003-08-25 | 半導体メモリ装置、及び、フラッシュメモリへのデータ書き込み方法 |
Country Status (8)
Country | Link |
---|---|
US (2) | US7107389B2 (ja) |
EP (1) | EP1533702A4 (ja) |
JP (1) | JP4358111B2 (ja) |
KR (1) | KR100944054B1 (ja) |
CN (2) | CN100347685C (ja) |
CA (1) | CA2461446A1 (ja) |
TW (1) | TWI260535B (ja) |
WO (1) | WO2004021191A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007018499A (ja) * | 2005-06-06 | 2007-01-25 | Sony Corp | 記憶装置 |
JP2007199905A (ja) * | 2006-01-25 | 2007-08-09 | Toshiba Corp | 半導体記憶装置の制御方法 |
WO2007119267A1 (ja) | 2006-03-13 | 2007-10-25 | Matsushita Electric Industrial Co., Ltd. | フラッシュメモリ用のメモリコントローラ |
US7369926B2 (en) | 2004-08-31 | 2008-05-06 | Mitsubishi Denki Kabushiki Kaisha | On-vehicle electronic control unit |
US7814264B2 (en) | 2004-05-27 | 2010-10-12 | Kabushiki Kaisha Toshiba | Memory card, semiconductor device, and method of controlling semiconductor memory |
Families Citing this family (274)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1548602B1 (en) * | 2002-10-02 | 2008-03-12 | Matsushita Electric Industrial Co., Ltd. | Non-volatile storage device control method |
US7383414B2 (en) * | 2004-05-28 | 2008-06-03 | Oracle International Corporation | Method and apparatus for memory-mapped input/output |
JP2006085380A (ja) * | 2004-09-15 | 2006-03-30 | Toshiba Corp | ファイルストレージデバイス、プログラム、及び不揮発性半導体メモリの書込方法 |
US7409623B2 (en) * | 2004-11-04 | 2008-08-05 | Sigmatel, Inc. | System and method of reading non-volatile computer memory |
KR100706242B1 (ko) * | 2005-02-07 | 2007-04-11 | 삼성전자주식회사 | 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법 |
JP4688584B2 (ja) * | 2005-06-21 | 2011-05-25 | 株式会社日立製作所 | ストレージ装置 |
KR101197556B1 (ko) * | 2006-01-09 | 2012-11-09 | 삼성전자주식회사 | 불 휘발성 메모리의 프로그램 동작을 검증하는 장치 및방법, 그리고 그 장치를 포함한 메모리 카드 |
US7996598B2 (en) * | 2006-03-14 | 2011-08-09 | Stmicroelectronics Pvt. Ltd. | Memory management module |
JP2008009527A (ja) * | 2006-06-27 | 2008-01-17 | Toshiba Corp | メモリシステム |
KR100816148B1 (ko) * | 2006-09-29 | 2008-03-21 | 주식회사 하이닉스반도체 | 플래시 메모리 소자 및 이의 독출 방법 |
CN101105774B (zh) * | 2006-10-26 | 2010-08-11 | 福昭科技(深圳)有限公司 | 闪存记忆体在进行数据存取时的逻辑与物理地址转换方法 |
TWI326028B (en) | 2006-11-20 | 2010-06-11 | Silicon Motion Inc | Method for flash memory data management |
CN101196851B (zh) * | 2006-12-05 | 2011-09-07 | 慧荣科技股份有限公司 | 闪存的数据管理方法 |
EP1988550B1 (fr) * | 2007-05-02 | 2010-08-25 | Stmicroelectronics Sa | Mémoire non volatile à secteurs auxiliaires tournants |
US7962683B2 (en) * | 2007-08-15 | 2011-06-14 | Silicon Motion, Inc. | Flash memory, and method for operating a flash memory |
US20090144458A1 (en) * | 2007-12-03 | 2009-06-04 | Broadcom Corporation | Dongle device and host device with millimeter wave host inerface and method for use therewith |
CN101256564B (zh) * | 2007-12-25 | 2010-06-02 | 深圳市同洲电子股份有限公司 | 一种循环文件的操作方法 |
US8180954B2 (en) * | 2008-04-15 | 2012-05-15 | SMART Storage Systems, Inc. | Flash management using logical page size |
US8566505B2 (en) * | 2008-04-15 | 2013-10-22 | SMART Storage Systems, Inc. | Flash management using sequential techniques |
US20090259806A1 (en) * | 2008-04-15 | 2009-10-15 | Adtron, Inc. | Flash management using bad page tracking and high defect flash memory |
US8028123B2 (en) * | 2008-04-15 | 2011-09-27 | SMART Modular Technologies (AZ) , Inc. | Circular wear leveling |
US8185778B2 (en) * | 2008-04-15 | 2012-05-22 | SMART Storage Systems, Inc. | Flash management using separate metadata storage |
WO2009129338A2 (en) * | 2008-04-15 | 2009-10-22 | Adtron, Inc. | Flash management using sequential techniques |
US8555086B2 (en) * | 2008-06-30 | 2013-10-08 | Intel Corporation | Encrypting data on a non-volatile memory |
KR101038167B1 (ko) * | 2008-09-09 | 2011-05-31 | 가부시끼가이샤 도시바 | 프로세서로부터 메모리로의 액세스를 관리하는 메모리 관리 장치를 포함하는 정보 처리 장치 및 메모리 관리 방법 |
CN101676885B (zh) * | 2008-09-17 | 2013-08-21 | 群联电子股份有限公司 | 数据管理方法及其存储装置与其控制器 |
US8566562B2 (en) * | 2008-10-03 | 2013-10-22 | Skymedi Corporation | Method for sequentially writing data with an offset to a non-volatile memory |
US8296503B2 (en) * | 2009-05-26 | 2012-10-23 | Mediatek Inc. | Data updating and recovering methods for a non-volatile memory array |
TWI426384B (zh) * | 2009-09-10 | 2014-02-11 | Robustflash Technologies Ltd | 資料寫入方法與系統 |
CN101673243B (zh) * | 2009-09-29 | 2011-09-07 | 威盛电子股份有限公司 | 数据储存装置与方法 |
TWI437569B (zh) * | 2009-10-16 | 2014-05-11 | Silicon Motion Inc | 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器 |
TWI416525B (zh) * | 2009-12-15 | 2013-11-21 | Asolid Technology Co Ltd | 非揮發性記憶體裝置及其損耗平均方法 |
US8381018B2 (en) | 2010-05-21 | 2013-02-19 | Mediatek Inc. | Method for data recovery for flash devices |
US8909851B2 (en) | 2011-02-08 | 2014-12-09 | SMART Storage Systems, Inc. | Storage control system with change logging mechanism and method of operation thereof |
US8935466B2 (en) | 2011-03-28 | 2015-01-13 | SMART Storage Systems, Inc. | Data storage system with non-volatile memory and method of operation thereof |
US9098399B2 (en) | 2011-08-31 | 2015-08-04 | SMART Storage Systems, Inc. | Electronic system with storage management mechanism and method of operation thereof |
US9021231B2 (en) | 2011-09-02 | 2015-04-28 | SMART Storage Systems, Inc. | Storage control system with write amplification control mechanism and method of operation thereof |
US9063844B2 (en) | 2011-09-02 | 2015-06-23 | SMART Storage Systems, Inc. | Non-volatile memory management system with time measure mechanism and method of operation thereof |
US9021319B2 (en) | 2011-09-02 | 2015-04-28 | SMART Storage Systems, Inc. | Non-volatile memory management system with load leveling and method of operation thereof |
US8797799B2 (en) * | 2012-01-05 | 2014-08-05 | Conversant Intellectual Property Management Inc. | Device selection schemes in multi chip package NAND flash memory system |
US9239781B2 (en) | 2012-02-07 | 2016-01-19 | SMART Storage Systems, Inc. | Storage control system with erase block mechanism and method of operation thereof |
US9298252B2 (en) | 2012-04-17 | 2016-03-29 | SMART Storage Systems, Inc. | Storage control system with power down mechanism and method of operation thereof |
TWI486766B (zh) * | 2012-05-11 | 2015-06-01 | Phison Electronics Corp | 資料處理方法、記憶體控制器與記憶體儲存裝置 |
CN102722456B (zh) * | 2012-05-30 | 2015-02-04 | 深圳市江波龙电子有限公司 | 闪存存储设备的数据写入方法和闪存存储设备 |
US8949689B2 (en) | 2012-06-11 | 2015-02-03 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
CN103019616B (zh) * | 2012-11-23 | 2015-11-25 | 记忆科技(深圳)有限公司 | 一种固态硬盘及闪存芯片的充放电控制方法 |
US9671962B2 (en) | 2012-11-30 | 2017-06-06 | Sandisk Technologies Llc | Storage control system with data management mechanism of parity and method of operation thereof |
US9123445B2 (en) | 2013-01-22 | 2015-09-01 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
US9183137B2 (en) | 2013-02-27 | 2015-11-10 | SMART Storage Systems, Inc. | Storage control system with data management mechanism and method of operation thereof |
US9470720B2 (en) | 2013-03-08 | 2016-10-18 | Sandisk Technologies Llc | Test system with localized heating and method of manufacture thereof |
US9043780B2 (en) | 2013-03-27 | 2015-05-26 | SMART Storage Systems, Inc. | Electronic system with system modification control mechanism and method of operation thereof |
US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US9543025B2 (en) | 2013-04-11 | 2017-01-10 | Sandisk Technologies Llc | Storage control system with power-off time estimation mechanism and method of operation thereof |
US10546648B2 (en) | 2013-04-12 | 2020-01-28 | Sandisk Technologies Llc | Storage control system with data management mechanism and method of operation thereof |
US9898056B2 (en) | 2013-06-19 | 2018-02-20 | Sandisk Technologies Llc | Electronic assembly with thermal channel and method of manufacture thereof |
US9313874B2 (en) | 2013-06-19 | 2016-04-12 | SMART Storage Systems, Inc. | Electronic system with heat extraction and method of manufacture thereof |
US9244519B1 (en) | 2013-06-25 | 2016-01-26 | Smart Storage Systems. Inc. | Storage system with data transfer rate adjustment for power throttling |
US9367353B1 (en) | 2013-06-25 | 2016-06-14 | Sandisk Technologies Inc. | Storage control system with power throttling mechanism and method of operation thereof |
US9146850B2 (en) | 2013-08-01 | 2015-09-29 | SMART Storage Systems, Inc. | Data storage system with dynamic read threshold mechanism and method of operation thereof |
US9448946B2 (en) | 2013-08-07 | 2016-09-20 | Sandisk Technologies Llc | Data storage system with stale data mechanism and method of operation thereof |
US9361222B2 (en) | 2013-08-07 | 2016-06-07 | SMART Storage Systems, Inc. | Electronic system with storage drive life estimation mechanism and method of operation thereof |
US9431113B2 (en) | 2013-08-07 | 2016-08-30 | Sandisk Technologies Llc | Data storage system with dynamic erase block grouping mechanism and method of operation thereof |
US11630585B1 (en) | 2016-08-25 | 2023-04-18 | Pure Storage, Inc. | Processing evacuation events in a storage array that includes a plurality of storage devices |
US9152555B2 (en) | 2013-11-15 | 2015-10-06 | Sandisk Enterprise IP LLC. | Data management with modular erase in a data storage system |
CN103778964B (zh) * | 2013-12-30 | 2016-08-17 | 上海晨思电子科技有限公司 | 一种NAND Flash烧写数据的处理、使用方法及装置、系统 |
JP2015138272A (ja) * | 2014-01-20 | 2015-07-30 | ソニー株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
US9653184B2 (en) | 2014-06-16 | 2017-05-16 | Sandisk Technologies Llc | Non-volatile memory module with physical-to-physical address remapping |
US9613715B2 (en) | 2014-06-16 | 2017-04-04 | Sandisk Technologies Llc | Low-test memory stack for non-volatile storage |
US8976609B1 (en) | 2014-06-16 | 2015-03-10 | Sandisk Enterprise Ip Llc | Low-test memory stack for non-volatile storage |
CN104166627B (zh) * | 2014-09-02 | 2017-12-08 | 科大智能电气技术有限公司 | 一种基于单片机的nand‑flash写操作方法 |
US9716755B2 (en) | 2015-05-26 | 2017-07-25 | Pure Storage, Inc. | Providing cloud storage array services by a local storage array in a data center |
US11102298B1 (en) | 2015-05-26 | 2021-08-24 | Pure Storage, Inc. | Locally providing cloud storage services for fleet management |
US9594678B1 (en) | 2015-05-27 | 2017-03-14 | Pure Storage, Inc. | Preventing duplicate entries of identical data in a storage device |
US11503031B1 (en) | 2015-05-29 | 2022-11-15 | Pure Storage, Inc. | Storage array access control from cloud-based user authorization and authentication |
US9444822B1 (en) | 2015-05-29 | 2016-09-13 | Pure Storage, Inc. | Storage array access control from cloud-based user authorization and authentication |
US10021170B2 (en) | 2015-05-29 | 2018-07-10 | Pure Storage, Inc. | Managing a storage array using client-side services |
US9300660B1 (en) | 2015-05-29 | 2016-03-29 | Pure Storage, Inc. | Providing authorization and authentication in a cloud for a user of a storage array |
US9588691B2 (en) | 2015-06-10 | 2017-03-07 | Pure Storage, Inc. | Dynamically managing control information in a storage device |
US9594512B1 (en) | 2015-06-19 | 2017-03-14 | Pure Storage, Inc. | Attributing consumed storage capacity among entities storing data in a storage array |
US10310740B2 (en) * | 2015-06-23 | 2019-06-04 | Pure Storage, Inc. | Aligning memory access operations to a geometry of a storage device |
US9547441B1 (en) | 2015-06-23 | 2017-01-17 | Pure Storage, Inc. | Exposing a geometry of a storage device |
US10296236B2 (en) | 2015-07-01 | 2019-05-21 | Pure Storage, Inc. | Offloading device management responsibilities from a storage device in an array of storage devices |
US9892071B2 (en) | 2015-08-03 | 2018-02-13 | Pure Storage, Inc. | Emulating a remote direct memory access (‘RDMA’) link between controllers in a storage array |
US9851762B1 (en) | 2015-08-06 | 2017-12-26 | Pure Storage, Inc. | Compliant printed circuit board (‘PCB’) within an enclosure |
US11625181B1 (en) | 2015-08-24 | 2023-04-11 | Pure Storage, Inc. | Data tiering using snapshots |
US11294588B1 (en) | 2015-08-24 | 2022-04-05 | Pure Storage, Inc. | Placing data within a storage device |
US10198194B2 (en) | 2015-08-24 | 2019-02-05 | Pure Storage, Inc. | Placing data within a storage device of a flash array |
US9384082B1 (en) | 2015-10-23 | 2016-07-05 | Pure Storage, Inc. | Proactively providing corrective measures for storage arrays |
US10514978B1 (en) | 2015-10-23 | 2019-12-24 | Pure Storage, Inc. | Automatic deployment of corrective measures for storage arrays |
US11360844B1 (en) | 2015-10-23 | 2022-06-14 | Pure Storage, Inc. | Recovery of a container storage provider |
US10284232B2 (en) | 2015-10-28 | 2019-05-07 | Pure Storage, Inc. | Dynamic error processing in a storage device |
US10374868B2 (en) | 2015-10-29 | 2019-08-06 | Pure Storage, Inc. | Distributed command processing in a flash storage system |
US9740414B2 (en) | 2015-10-29 | 2017-08-22 | Pure Storage, Inc. | Optimizing copy operations |
US10353777B2 (en) | 2015-10-30 | 2019-07-16 | Pure Storage, Inc. | Ensuring crash-safe forward progress of a system configuration update |
US11762764B1 (en) | 2015-12-02 | 2023-09-19 | Pure Storage, Inc. | Writing data in a storage system that includes a first type of storage device and a second type of storage device |
US9760479B2 (en) | 2015-12-02 | 2017-09-12 | Pure Storage, Inc. | Writing data in a storage system that includes a first type of storage device and a second type of storage device |
US11616834B2 (en) | 2015-12-08 | 2023-03-28 | Pure Storage, Inc. | Efficient replication of a dataset to the cloud |
US10326836B2 (en) | 2015-12-08 | 2019-06-18 | Pure Storage, Inc. | Partially replicating a snapshot between storage systems |
US11347697B1 (en) | 2015-12-15 | 2022-05-31 | Pure Storage, Inc. | Proactively optimizing a storage system |
US10162835B2 (en) | 2015-12-15 | 2018-12-25 | Pure Storage, Inc. | Proactive management of a plurality of storage arrays in a multi-array system |
US10346043B2 (en) | 2015-12-28 | 2019-07-09 | Pure Storage, Inc. | Adaptive computing for data compression |
US9886314B2 (en) | 2016-01-28 | 2018-02-06 | Pure Storage, Inc. | Placing workloads in a multi-array system |
US10572460B2 (en) | 2016-02-11 | 2020-02-25 | Pure Storage, Inc. | Compressing data in dependence upon characteristics of a storage system |
US9760297B2 (en) | 2016-02-12 | 2017-09-12 | Pure Storage, Inc. | Managing input/output (‘I/O’) queues in a data storage system |
US9959043B2 (en) | 2016-03-16 | 2018-05-01 | Pure Storage, Inc. | Performing a non-disruptive upgrade of data in a storage system |
US11995315B2 (en) | 2016-03-16 | 2024-05-28 | Pure Storage, Inc. | Converting data formats in a storage system |
US11112990B1 (en) | 2016-04-27 | 2021-09-07 | Pure Storage, Inc. | Managing storage device evacuation |
US9841921B2 (en) | 2016-04-27 | 2017-12-12 | Pure Storage, Inc. | Migrating data in a storage array that includes a plurality of storage devices |
US11809727B1 (en) | 2016-04-27 | 2023-11-07 | Pure Storage, Inc. | Predicting failures in a storage system that includes a plurality of storage devices |
US9811264B1 (en) | 2016-04-28 | 2017-11-07 | Pure Storage, Inc. | Deploying client-specific applications in a storage system utilizing redundant system resources |
US10303390B1 (en) | 2016-05-02 | 2019-05-28 | Pure Storage, Inc. | Resolving fingerprint collisions in flash storage system |
US11231858B2 (en) | 2016-05-19 | 2022-01-25 | Pure Storage, Inc. | Dynamically configuring a storage system to facilitate independent scaling of resources |
US9507532B1 (en) | 2016-05-20 | 2016-11-29 | Pure Storage, Inc. | Migrating data in a storage array that includes a plurality of storage devices and a plurality of write buffer devices |
US10691567B2 (en) | 2016-06-03 | 2020-06-23 | Pure Storage, Inc. | Dynamically forming a failure domain in a storage system that includes a plurality of blades |
US10452310B1 (en) | 2016-07-13 | 2019-10-22 | Pure Storage, Inc. | Validating cabling for storage component admission to a storage array |
US11706895B2 (en) | 2016-07-19 | 2023-07-18 | Pure Storage, Inc. | Independent scaling of compute resources and storage resources in a storage system |
US10459652B2 (en) | 2016-07-27 | 2019-10-29 | Pure Storage, Inc. | Evacuating blades in a storage array that includes a plurality of blades |
US10474363B1 (en) | 2016-07-29 | 2019-11-12 | Pure Storage, Inc. | Space reporting in a storage system |
US11886922B2 (en) | 2016-09-07 | 2024-01-30 | Pure Storage, Inc. | Scheduling input/output operations for a storage system |
US10235229B1 (en) | 2016-09-07 | 2019-03-19 | Pure Storage, Inc. | Rehabilitating storage devices in a storage array that includes a plurality of storage devices |
US10331588B2 (en) | 2016-09-07 | 2019-06-25 | Pure Storage, Inc. | Ensuring the appropriate utilization of system resources using weighted workload based, time-independent scheduling |
US11531577B1 (en) | 2016-09-07 | 2022-12-20 | Pure Storage, Inc. | Temporarily limiting access to a storage device |
US10146585B2 (en) | 2016-09-07 | 2018-12-04 | Pure Storage, Inc. | Ensuring the fair utilization of system resources using workload based, time-independent scheduling |
US10908966B1 (en) | 2016-09-07 | 2021-02-02 | Pure Storage, Inc. | Adapting target service times in a storage system |
US11481261B1 (en) | 2016-09-07 | 2022-10-25 | Pure Storage, Inc. | Preventing extended latency in a storage system |
US11960348B2 (en) | 2016-09-07 | 2024-04-16 | Pure Storage, Inc. | Cloud-based monitoring of hardware components in a fleet of storage systems |
US10671439B1 (en) | 2016-09-07 | 2020-06-02 | Pure Storage, Inc. | Workload planning with quality-of-service (‘QOS’) integration |
US11379132B1 (en) | 2016-10-20 | 2022-07-05 | Pure Storage, Inc. | Correlating medical sensor data |
US10007459B2 (en) | 2016-10-20 | 2018-06-26 | Pure Storage, Inc. | Performance tuning in a storage system that includes one or more storage devices |
US10162566B2 (en) | 2016-11-22 | 2018-12-25 | Pure Storage, Inc. | Accumulating application-level statistics in a storage system |
US11620075B2 (en) | 2016-11-22 | 2023-04-04 | Pure Storage, Inc. | Providing application aware storage |
US10198205B1 (en) | 2016-12-19 | 2019-02-05 | Pure Storage, Inc. | Dynamically adjusting a number of storage devices utilized to simultaneously service write operations |
US11461273B1 (en) | 2016-12-20 | 2022-10-04 | Pure Storage, Inc. | Modifying storage distribution in a storage system that includes one or more storage devices |
US10489307B2 (en) | 2017-01-05 | 2019-11-26 | Pure Storage, Inc. | Periodically re-encrypting user data stored on a storage device |
US11307998B2 (en) | 2017-01-09 | 2022-04-19 | Pure Storage, Inc. | Storage efficiency of encrypted host system data |
US11340800B1 (en) | 2017-01-19 | 2022-05-24 | Pure Storage, Inc. | Content masking in a storage system |
US10503700B1 (en) | 2017-01-19 | 2019-12-10 | Pure Storage, Inc. | On-demand content filtering of snapshots within a storage system |
US11163624B2 (en) | 2017-01-27 | 2021-11-02 | Pure Storage, Inc. | Dynamically adjusting an amount of log data generated for a storage system |
US11803453B1 (en) | 2017-03-10 | 2023-10-31 | Pure Storage, Inc. | Using host connectivity states to avoid queuing I/O requests |
US11169727B1 (en) | 2017-03-10 | 2021-11-09 | Pure Storage, Inc. | Synchronous replication between storage systems with virtualized storage |
US10503427B2 (en) | 2017-03-10 | 2019-12-10 | Pure Storage, Inc. | Synchronously replicating datasets and other managed objects to cloud-based storage systems |
US11089105B1 (en) | 2017-12-14 | 2021-08-10 | Pure Storage, Inc. | Synchronously replicating datasets in cloud-based storage systems |
US10521344B1 (en) | 2017-03-10 | 2019-12-31 | Pure Storage, Inc. | Servicing input/output (‘I/O’) operations directed to a dataset that is synchronized across a plurality of storage systems |
US11941279B2 (en) | 2017-03-10 | 2024-03-26 | Pure Storage, Inc. | Data path virtualization |
US11675520B2 (en) | 2017-03-10 | 2023-06-13 | Pure Storage, Inc. | Application replication among storage systems synchronously replicating a dataset |
US10454810B1 (en) | 2017-03-10 | 2019-10-22 | Pure Storage, Inc. | Managing host definitions across a plurality of storage systems |
US11442825B2 (en) | 2017-03-10 | 2022-09-13 | Pure Storage, Inc. | Establishing a synchronous replication relationship between two or more storage systems |
US9910618B1 (en) | 2017-04-10 | 2018-03-06 | Pure Storage, Inc. | Migrating applications executing on a storage system |
US10459664B1 (en) | 2017-04-10 | 2019-10-29 | Pure Storage, Inc. | Virtualized copy-by-reference |
US11868629B1 (en) | 2017-05-05 | 2024-01-09 | Pure Storage, Inc. | Storage system sizing service |
US10976962B2 (en) | 2018-03-15 | 2021-04-13 | Pure Storage, Inc. | Servicing I/O operations in a cloud-based storage system |
US10417092B2 (en) | 2017-09-07 | 2019-09-17 | Pure Storage, Inc. | Incremental RAID stripe update parity calculation |
WO2018231350A1 (en) | 2017-06-12 | 2018-12-20 | Pure Storage, Inc. | Accessible fast durable storage integrated into a bulk storage device |
US10613791B2 (en) | 2017-06-12 | 2020-04-07 | Pure Storage, Inc. | Portable snapshot replication between storage systems |
US11210133B1 (en) | 2017-06-12 | 2021-12-28 | Pure Storage, Inc. | Workload mobility between disparate execution environments |
US10552090B2 (en) | 2017-09-07 | 2020-02-04 | Pure Storage, Inc. | Solid state drives with multiple types of addressable memory |
US11593036B2 (en) | 2017-06-12 | 2023-02-28 | Pure Storage, Inc. | Staging data within a unified storage element |
US10853148B1 (en) | 2017-06-12 | 2020-12-01 | Pure Storage, Inc. | Migrating workloads between a plurality of execution environments |
US11609718B1 (en) | 2017-06-12 | 2023-03-21 | Pure Storage, Inc. | Identifying valid data after a storage system recovery |
US11592991B2 (en) | 2017-09-07 | 2023-02-28 | Pure Storage, Inc. | Converting raid data between persistent storage types |
US10884636B1 (en) | 2017-06-12 | 2021-01-05 | Pure Storage, Inc. | Presenting workload performance in a storage system |
US11989429B1 (en) | 2017-06-12 | 2024-05-21 | Pure Storage, Inc. | Recommending changes to a storage system |
US11016824B1 (en) | 2017-06-12 | 2021-05-25 | Pure Storage, Inc. | Event identification with out-of-order reporting in a cloud-based environment |
US11442669B1 (en) | 2018-03-15 | 2022-09-13 | Pure Storage, Inc. | Orchestrating a virtual storage system |
US11422731B1 (en) | 2017-06-12 | 2022-08-23 | Pure Storage, Inc. | Metadata-based replication of a dataset |
US11340939B1 (en) | 2017-06-12 | 2022-05-24 | Pure Storage, Inc. | Application-aware analytics for storage systems |
US11561714B1 (en) | 2017-07-05 | 2023-01-24 | Pure Storage, Inc. | Storage efficiency driven migration |
US11477280B1 (en) | 2017-07-26 | 2022-10-18 | Pure Storage, Inc. | Integrating cloud storage services |
US10831935B2 (en) | 2017-08-31 | 2020-11-10 | Pure Storage, Inc. | Encryption management with host-side data reduction |
US11455168B1 (en) | 2017-10-19 | 2022-09-27 | Pure Storage, Inc. | Batch building for deep learning training workloads |
US11494692B1 (en) | 2018-03-26 | 2022-11-08 | Pure Storage, Inc. | Hyperscale artificial intelligence and machine learning infrastructure |
US10360214B2 (en) | 2017-10-19 | 2019-07-23 | Pure Storage, Inc. | Ensuring reproducibility in an artificial intelligence infrastructure |
US10452444B1 (en) | 2017-10-19 | 2019-10-22 | Pure Storage, Inc. | Storage system with compute resources and shared storage resources |
US11861423B1 (en) | 2017-10-19 | 2024-01-02 | Pure Storage, Inc. | Accelerating artificial intelligence (‘AI’) workflows |
US10671434B1 (en) | 2017-10-19 | 2020-06-02 | Pure Storage, Inc. | Storage based artificial intelligence infrastructure |
US10484174B1 (en) | 2017-11-01 | 2019-11-19 | Pure Storage, Inc. | Protecting an encryption key for data stored in a storage system that includes a plurality of storage devices |
US10671494B1 (en) | 2017-11-01 | 2020-06-02 | Pure Storage, Inc. | Consistent selection of replicated datasets during storage system recovery |
US10817392B1 (en) | 2017-11-01 | 2020-10-27 | Pure Storage, Inc. | Ensuring resiliency to storage device failures in a storage system that includes a plurality of storage devices |
US10509581B1 (en) | 2017-11-01 | 2019-12-17 | Pure Storage, Inc. | Maintaining write consistency in a multi-threaded storage system |
US10467107B1 (en) | 2017-11-01 | 2019-11-05 | Pure Storage, Inc. | Maintaining metadata resiliency among storage device failures |
US10929226B1 (en) | 2017-11-21 | 2021-02-23 | Pure Storage, Inc. | Providing for increased flexibility for large scale parity |
US10990282B1 (en) | 2017-11-28 | 2021-04-27 | Pure Storage, Inc. | Hybrid data tiering with cloud storage |
US10936238B2 (en) | 2017-11-28 | 2021-03-02 | Pure Storage, Inc. | Hybrid data tiering |
US10795598B1 (en) | 2017-12-07 | 2020-10-06 | Pure Storage, Inc. | Volume migration for storage systems synchronously replicating a dataset |
US11036677B1 (en) | 2017-12-14 | 2021-06-15 | Pure Storage, Inc. | Replicated data integrity |
US10929031B2 (en) | 2017-12-21 | 2021-02-23 | Pure Storage, Inc. | Maximizing data reduction in a partially encrypted volume |
US10992533B1 (en) | 2018-01-30 | 2021-04-27 | Pure Storage, Inc. | Policy based path management |
US10521151B1 (en) | 2018-03-05 | 2019-12-31 | Pure Storage, Inc. | Determining effective space utilization in a storage system |
US11150834B1 (en) | 2018-03-05 | 2021-10-19 | Pure Storage, Inc. | Determining storage consumption in a storage system |
US11972134B2 (en) | 2018-03-05 | 2024-04-30 | Pure Storage, Inc. | Resource utilization using normalized input/output (‘I/O’) operations |
US10942650B1 (en) | 2018-03-05 | 2021-03-09 | Pure Storage, Inc. | Reporting capacity utilization in a storage system |
US11861170B2 (en) | 2018-03-05 | 2024-01-02 | Pure Storage, Inc. | Sizing resources for a replication target |
US10296258B1 (en) | 2018-03-09 | 2019-05-21 | Pure Storage, Inc. | Offloading data storage to a decentralized storage network |
US11210009B1 (en) | 2018-03-15 | 2021-12-28 | Pure Storage, Inc. | Staging data in a cloud-based storage system |
US10924548B1 (en) | 2018-03-15 | 2021-02-16 | Pure Storage, Inc. | Symmetric storage using a cloud-based storage system |
US10917471B1 (en) | 2018-03-15 | 2021-02-09 | Pure Storage, Inc. | Active membership in a cloud-based storage system |
US11288138B1 (en) | 2018-03-15 | 2022-03-29 | Pure Storage, Inc. | Recovery from a system fault in a cloud-based storage system |
US11048590B1 (en) | 2018-03-15 | 2021-06-29 | Pure Storage, Inc. | Data consistency during recovery in a cloud-based storage system |
US11095706B1 (en) | 2018-03-21 | 2021-08-17 | Pure Storage, Inc. | Secure cloud-based storage system management |
US11171950B1 (en) | 2018-03-21 | 2021-11-09 | Pure Storage, Inc. | Secure cloud-based storage system management |
US10838833B1 (en) | 2018-03-26 | 2020-11-17 | Pure Storage, Inc. | Providing for high availability in a data analytics pipeline without replicas |
US11436344B1 (en) | 2018-04-24 | 2022-09-06 | Pure Storage, Inc. | Secure encryption in deduplication cluster |
US11392553B1 (en) | 2018-04-24 | 2022-07-19 | Pure Storage, Inc. | Remote data management |
US11675503B1 (en) | 2018-05-21 | 2023-06-13 | Pure Storage, Inc. | Role-based data access |
US20190354628A1 (en) | 2018-05-21 | 2019-11-21 | Pure Storage, Inc. | Asynchronous replication of synchronously replicated data |
US11954220B2 (en) | 2018-05-21 | 2024-04-09 | Pure Storage, Inc. | Data protection for container storage |
US11455409B2 (en) | 2018-05-21 | 2022-09-27 | Pure Storage, Inc. | Storage layer data obfuscation |
US10871922B2 (en) | 2018-05-22 | 2020-12-22 | Pure Storage, Inc. | Integrated storage management between storage systems and container orchestrators |
US11416298B1 (en) | 2018-07-20 | 2022-08-16 | Pure Storage, Inc. | Providing application-specific storage by a storage system |
US11403000B1 (en) | 2018-07-20 | 2022-08-02 | Pure Storage, Inc. | Resiliency in a cloud-based storage system |
US11146564B1 (en) | 2018-07-24 | 2021-10-12 | Pure Storage, Inc. | Login authentication in a cloud storage platform |
US11632360B1 (en) | 2018-07-24 | 2023-04-18 | Pure Storage, Inc. | Remote access to a storage device |
US11954238B1 (en) | 2018-07-24 | 2024-04-09 | Pure Storage, Inc. | Role-based access control for a storage system |
US11615019B2 (en) * | 2018-08-21 | 2023-03-28 | Sony Corporation | Non-volatile storage device, host device, and data storage system to increase data write speed |
US11436151B2 (en) * | 2018-08-29 | 2022-09-06 | Seagate Technology Llc | Semi-sequential drive I/O performance |
US11860820B1 (en) | 2018-09-11 | 2024-01-02 | Pure Storage, Inc. | Processing data through a storage system in a data pipeline |
US10671302B1 (en) | 2018-10-26 | 2020-06-02 | Pure Storage, Inc. | Applying a rate limit across a plurality of storage systems |
US10963189B1 (en) | 2018-11-18 | 2021-03-30 | Pure Storage, Inc. | Coalescing write operations in a cloud-based storage system |
US11340837B1 (en) | 2018-11-18 | 2022-05-24 | Pure Storage, Inc. | Storage system management via a remote console |
US11379254B1 (en) | 2018-11-18 | 2022-07-05 | Pure Storage, Inc. | Dynamic configuration of a cloud-based storage system |
US11526405B1 (en) | 2018-11-18 | 2022-12-13 | Pure Storage, Inc. | Cloud-based disaster recovery |
US11650749B1 (en) | 2018-12-17 | 2023-05-16 | Pure Storage, Inc. | Controlling access to sensitive data in a shared dataset |
US11003369B1 (en) | 2019-01-14 | 2021-05-11 | Pure Storage, Inc. | Performing a tune-up procedure on a storage device during a boot process |
US11042452B1 (en) | 2019-03-20 | 2021-06-22 | Pure Storage, Inc. | Storage system data recovery using data recovery as a service |
US11221778B1 (en) | 2019-04-02 | 2022-01-11 | Pure Storage, Inc. | Preparing data for deduplication |
US11068162B1 (en) | 2019-04-09 | 2021-07-20 | Pure Storage, Inc. | Storage management in a cloud data store |
US11126364B2 (en) | 2019-07-18 | 2021-09-21 | Pure Storage, Inc. | Virtual storage system architecture |
US11853266B2 (en) | 2019-05-15 | 2023-12-26 | Pure Storage, Inc. | Providing a file system in a cloud environment |
US11327676B1 (en) | 2019-07-18 | 2022-05-10 | Pure Storage, Inc. | Predictive data streaming in a virtual storage system |
US11392555B2 (en) | 2019-05-15 | 2022-07-19 | Pure Storage, Inc. | Cloud-based file services |
US12001355B1 (en) | 2019-05-24 | 2024-06-04 | Pure Storage, Inc. | Chunked memory efficient storage data transfers |
US11487715B1 (en) | 2019-07-18 | 2022-11-01 | Pure Storage, Inc. | Resiliency in a cloud-based storage system |
US11550514B2 (en) | 2019-07-18 | 2023-01-10 | Pure Storage, Inc. | Efficient transfers between tiers of a virtual storage system |
US11526408B2 (en) | 2019-07-18 | 2022-12-13 | Pure Storage, Inc. | Data recovery in a virtual storage system |
US11093139B1 (en) | 2019-07-18 | 2021-08-17 | Pure Storage, Inc. | Durably storing data within a virtual storage system |
US11861221B1 (en) | 2019-07-18 | 2024-01-02 | Pure Storage, Inc. | Providing scalable and reliable container-based storage services |
US11086553B1 (en) | 2019-08-28 | 2021-08-10 | Pure Storage, Inc. | Tiering duplicated objects in a cloud-based object store |
US11693713B1 (en) | 2019-09-04 | 2023-07-04 | Pure Storage, Inc. | Self-tuning clusters for resilient microservices |
US11797569B2 (en) | 2019-09-13 | 2023-10-24 | Pure Storage, Inc. | Configurable data replication |
US11625416B1 (en) | 2019-09-13 | 2023-04-11 | Pure Storage, Inc. | Uniform model for distinct types of data replication |
US11573864B1 (en) | 2019-09-16 | 2023-02-07 | Pure Storage, Inc. | Automating database management in a storage system |
US11669386B1 (en) | 2019-10-08 | 2023-06-06 | Pure Storage, Inc. | Managing an application's resource stack |
US20210173945A1 (en) | 2019-12-06 | 2021-06-10 | Pure Storage, Inc. | Replicating data to a storage system that has an inferred trust relationship with a client |
US11709636B1 (en) | 2020-01-13 | 2023-07-25 | Pure Storage, Inc. | Non-sequential readahead for deep learning training |
US11720497B1 (en) | 2020-01-13 | 2023-08-08 | Pure Storage, Inc. | Inferred nonsequential prefetch based on data access patterns |
US11733901B1 (en) | 2020-01-13 | 2023-08-22 | Pure Storage, Inc. | Providing persistent storage to transient cloud computing services |
US12014065B2 (en) | 2020-02-11 | 2024-06-18 | Pure Storage, Inc. | Multi-cloud orchestration as-a-service |
US11868622B2 (en) | 2020-02-25 | 2024-01-09 | Pure Storage, Inc. | Application recovery across storage systems |
US11637896B1 (en) | 2020-02-25 | 2023-04-25 | Pure Storage, Inc. | Migrating applications to a cloud-computing environment |
US11321006B1 (en) | 2020-03-25 | 2022-05-03 | Pure Storage, Inc. | Data loss prevention during transitions from a replication source |
US11630598B1 (en) | 2020-04-06 | 2023-04-18 | Pure Storage, Inc. | Scheduling data replication operations |
US11301152B1 (en) | 2020-04-06 | 2022-04-12 | Pure Storage, Inc. | Intelligently moving data between storage systems |
US11494267B2 (en) | 2020-04-14 | 2022-11-08 | Pure Storage, Inc. | Continuous value data redundancy |
US11921670B1 (en) | 2020-04-20 | 2024-03-05 | Pure Storage, Inc. | Multivariate data backup retention policies |
US11431488B1 (en) | 2020-06-08 | 2022-08-30 | Pure Storage, Inc. | Protecting local key generation using a remote key management service |
US11442652B1 (en) | 2020-07-23 | 2022-09-13 | Pure Storage, Inc. | Replication handling during storage system transportation |
US11349917B2 (en) | 2020-07-23 | 2022-05-31 | Pure Storage, Inc. | Replication handling among distinct networks |
US11397545B1 (en) | 2021-01-20 | 2022-07-26 | Pure Storage, Inc. | Emulating persistent reservations in a cloud-based storage system |
US11853285B1 (en) | 2021-01-22 | 2023-12-26 | Pure Storage, Inc. | Blockchain logging of volume-level events in a storage system |
US11563744B2 (en) | 2021-02-22 | 2023-01-24 | Bank Of America Corporation | System for detection and classification of intrusion using machine learning techniques |
US20220365827A1 (en) | 2021-05-12 | 2022-11-17 | Pure Storage, Inc. | Rebalancing In A Fleet Of Storage Systems Using Data Science |
US11816129B2 (en) | 2021-06-22 | 2023-11-14 | Pure Storage, Inc. | Generating datasets using approximate baselines |
US11714723B2 (en) | 2021-10-29 | 2023-08-01 | Pure Storage, Inc. | Coordinated snapshots for data stored across distinct storage environments |
US11914867B2 (en) | 2021-10-29 | 2024-02-27 | Pure Storage, Inc. | Coordinated snapshots among storage systems implementing a promotion/demotion model |
US11893263B2 (en) | 2021-10-29 | 2024-02-06 | Pure Storage, Inc. | Coordinated checkpoints among storage systems implementing checkpoint-based replication |
US11922052B2 (en) | 2021-12-15 | 2024-03-05 | Pure Storage, Inc. | Managing links between storage objects |
US11847071B2 (en) | 2021-12-30 | 2023-12-19 | Pure Storage, Inc. | Enabling communication between a single-port device and multiple storage system controllers |
US12001300B2 (en) | 2022-01-04 | 2024-06-04 | Pure Storage, Inc. | Assessing protection for storage resources |
US11860780B2 (en) | 2022-01-28 | 2024-01-02 | Pure Storage, Inc. | Storage cache management |
US11886295B2 (en) | 2022-01-31 | 2024-01-30 | Pure Storage, Inc. | Intra-block error correction |
CN115454900A (zh) * | 2022-08-08 | 2022-12-09 | 北京阿帕科蓝科技有限公司 | 数据传输方法、装置、计算机设备、存储介质和程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0546461A (ja) * | 1991-08-09 | 1993-02-26 | Toshiba Corp | メモリカード装置 |
JPH05313989A (ja) * | 1992-05-08 | 1993-11-26 | Toshiba Corp | メモリカード装置 |
JPH11203885A (ja) * | 1998-01-09 | 1999-07-30 | Hitachi Ltd | 記憶装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0772358A1 (en) * | 1991-08-09 | 1997-05-07 | Kabushiki Kaisha Toshiba | Memory card apparatus |
JP3485938B2 (ja) | 1992-03-31 | 2004-01-13 | 株式会社東芝 | 不揮発性半導体メモリ装置 |
DE69334149T2 (de) | 1992-04-02 | 2008-02-14 | Kabushiki Kaisha Toshiba, Kawasaki | Speicherkarte |
US5519847A (en) * | 1993-06-30 | 1996-05-21 | Intel Corporation | Method of pipelining sequential writes in a flash memory |
JP3197815B2 (ja) | 1996-04-15 | 2001-08-13 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 半導体メモリ装置及びその制御方法 |
ZA973609B (en) * | 1997-03-21 | 1998-07-17 | Canal Plus Sa | Computer memory organization. |
DE19737182A1 (de) * | 1997-08-26 | 1999-03-04 | Bosch Gmbh Robert | Verfahren zum Ändern von Daten |
JP4085478B2 (ja) * | 1998-07-28 | 2008-05-14 | ソニー株式会社 | 記憶媒体及び電子機器システム |
EP1134662A4 (en) * | 1999-07-28 | 2007-05-09 | Sony Corp | RECORDING SYSTEM, DATA RECEIVING DEVICE, MEMORY DEVICE AND DATA ACQUISITION METHOD |
US6721843B1 (en) * | 2000-07-07 | 2004-04-13 | Lexar Media, Inc. | Flash memory architecture implementing simultaneously programmable multiple flash memory banks that are host compatible |
US6763424B2 (en) | 2001-01-19 | 2004-07-13 | Sandisk Corporation | Partial block data programming and reading operations in a non-volatile memory |
KR100389867B1 (ko) * | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
US20030204675A1 (en) * | 2002-04-29 | 2003-10-30 | Dover Lance W. | Method and system to retrieve information from a storage device |
-
2003
- 2003-08-25 CN CNB038014769A patent/CN100347685C/zh not_active Expired - Fee Related
- 2003-08-25 US US10/486,960 patent/US7107389B2/en not_active Ceased
- 2003-08-25 JP JP2004532699A patent/JP4358111B2/ja not_active Expired - Fee Related
- 2003-08-25 CA CA002461446A patent/CA2461446A1/en not_active Abandoned
- 2003-08-25 CN CNA2007101472279A patent/CN101114255A/zh active Pending
- 2003-08-25 EP EP03791270A patent/EP1533702A4/en not_active Withdrawn
- 2003-08-25 WO PCT/JP2003/010718 patent/WO2004021191A1/ja active Application Filing
- 2003-08-25 US US12/016,751 patent/USRE42648E1/en not_active Expired - Fee Related
- 2003-08-25 KR KR1020047004717A patent/KR100944054B1/ko not_active IP Right Cessation
- 2003-08-28 TW TW092123756A patent/TWI260535B/zh not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0546461A (ja) * | 1991-08-09 | 1993-02-26 | Toshiba Corp | メモリカード装置 |
JPH05313989A (ja) * | 1992-05-08 | 1993-11-26 | Toshiba Corp | メモリカード装置 |
JPH11203885A (ja) * | 1998-01-09 | 1999-07-30 | Hitachi Ltd | 記憶装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP1533702A4 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7814264B2 (en) | 2004-05-27 | 2010-10-12 | Kabushiki Kaisha Toshiba | Memory card, semiconductor device, and method of controlling semiconductor memory |
US7369926B2 (en) | 2004-08-31 | 2008-05-06 | Mitsubishi Denki Kabushiki Kaisha | On-vehicle electronic control unit |
CN100425817C (zh) * | 2004-08-31 | 2008-10-15 | 三菱电机株式会社 | 车载电子控制装置 |
DE102005021053B4 (de) * | 2004-08-31 | 2013-05-02 | Mitsubishi Denki K.K. | Fahrzeugelektronik-Steuereinheit |
JP2007018499A (ja) * | 2005-06-06 | 2007-01-25 | Sony Corp | 記憶装置 |
US8285916B2 (en) | 2005-06-06 | 2012-10-09 | Sony Corporation | Storage device |
JP2007199905A (ja) * | 2006-01-25 | 2007-08-09 | Toshiba Corp | 半導体記憶装置の制御方法 |
WO2007119267A1 (ja) | 2006-03-13 | 2007-10-25 | Matsushita Electric Industrial Co., Ltd. | フラッシュメモリ用のメモリコントローラ |
US8006030B2 (en) | 2006-03-13 | 2011-08-23 | Panasonic Corporation | Memory controller for identifying the last valid page/segment in a physical block of a flash memory |
Also Published As
Publication number | Publication date |
---|---|
CN1585930A (zh) | 2005-02-23 |
US20040193786A1 (en) | 2004-09-30 |
CN101114255A (zh) | 2008-01-30 |
USRE42648E1 (en) | 2011-08-23 |
JP4358111B2 (ja) | 2009-11-04 |
KR20050033504A (ko) | 2005-04-12 |
JPWO2004021191A1 (ja) | 2005-12-22 |
CN100347685C (zh) | 2007-11-07 |
CA2461446A1 (en) | 2004-03-11 |
KR100944054B1 (ko) | 2010-02-24 |
EP1533702A1 (en) | 2005-05-25 |
TW200407769A (en) | 2004-05-16 |
TWI260535B (en) | 2006-08-21 |
US7107389B2 (en) | 2006-09-12 |
EP1533702A4 (en) | 2007-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2004021191A1 (ja) | 半導体メモリ装置、及び、フラッシュメモリへのデータ書き込み方法 | |
US12019540B2 (en) | Method for managing a memory apparatus | |
JP4044067B2 (ja) | シリアルフラッシュメモリにおけるxipのための優先順位に基づくフラッシュメモリ制御装置及びこれを用いたメモリ管理方法、これによるフラッシュメモリチップ | |
US7193923B2 (en) | Semiconductor memory device and access method and memory control system for same | |
US8135903B1 (en) | Non-volatile semiconductor memory compressing data to improve performance | |
TWI783017B (zh) | 記憶體系統及其操作方法 | |
US7136986B2 (en) | Apparatus and method for controlling flash memories | |
US20070271494A1 (en) | Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices | |
US8589618B2 (en) | Memory system comprising nonvolatile memory device and controller | |
TW201926046A (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
TW201011774A (en) | Data collection and compression in a solid state storage device | |
CN107818808B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
US10606744B2 (en) | Method for accessing flash memory module and associated flash memory controller and electronic device | |
US11614885B2 (en) | Data processing method for improving access performance of memory device and data storage device utilizing the same | |
TW201810282A (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
TW202236101A (zh) | 藉助於多階段記憶體映射隊列以進行存取控制的方法以及相關設備 | |
TW202318204A (zh) | 映射資訊記錄方法、記憶體控制電路單元與記憶體儲存裝置 | |
EP1408508A1 (en) | Storage device | |
TW201908957A (zh) | 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI233616B (en) | Silicon storage media and controller thereof, controlling method thereof, and data frame based storage media | |
US20080013375A1 (en) | Memory system | |
CN114115739B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
US11599457B1 (en) | Decoding circuit module, memory control circuit unit and memory storage device | |
TWI734370B (zh) | 快閃記憶體之資料合併方法、控制電路單元與儲存裝置 | |
JP2007310927A (ja) | 不揮発性メモリ、メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 12016751 Country of ref document: US Ref document number: 10486960 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2004532699 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2003791270 Country of ref document: EP |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): CA CN JP KR US |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2461446 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1020047004717 Country of ref document: KR |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 20038014769 Country of ref document: CN |
|
WWP | Wipo information: published in national office |
Ref document number: 2003791270 Country of ref document: EP |