IP Library Granted Patent US 7,549,013
Granted Patent B2
US 7,549,013 · App. 11/404,570 · Granted Jun 16, 2009

Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,549,013
App. No.
11/404,570
Granted
Jun 16, 2009
Kind
B2
Abstract

In one embodiment of the present invention, a memory storage system for storing information organized in sectors within a nonvolatile memory bank is disclosed. The memory bank is defined by sector storage locations spanning across one or more rows of a nonvolatile memory device, each the sector including a user data portion and an overhead portion. The sectors being organized into blocks with each sector identified by a host provided logical block address (LBA). Each block is identified by a modified LBA derived from the host-provided LBA and said virtual PBA, said host-provided LBA being received by the storage device from the host for identifying a sector of information to be accessed, the actual PBA developed by said storage device for identifying a free location within said memory bank wherein said accessed sector is to be stored. The storage system includes a memory controller coupled to the host; and a nonvolatile memory bank coupled to the memory controller via a memory bus, the memory bank being included in a non-volatile semiconductor memory unit, the memory bank has storage blocks each of which includes a first row-portion located in said memory unit, and a corresponding second row-portion located in each of the memory unit, each of the memory row-portions provides storage space for two of said sectors, wherein the speed of performing write operations is increased by writing sector information to the memory unit simultaneously.

Claims (71)

1. A non-volatile memory system comprising:

memory control circuitry; and

a non-volatile memory unit coupled to the memory control circuitry and including one or more nonvolatile memory devices organized into sectors, a sector including storage locations for a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the memory control circuitry for programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into a first sector of a first non-volatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second sector of a second nonvolatile memory device and for programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first sector of the first nonvolatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second sector of the second nonvolatile memory device,

wherein at least two sectors of information are programmed to at least two of the one or more non-volatile memory devices simultaneously.

2. A non-volatile memory system, as recited in claim 1 , wherein said non-volatile memory unit includes one or more flash memory chips.

3. A non-volatile memory system, as recited in claim 1 , wherein the at least one of the plurality of sectors of information is an even sector of information and the at least another one of the plurality of sectors of information is an odd sector of information.

4. A non-volatile memory system comprising:

memory control circuitry; and

a non-volatile memory unit coupled to the memory control circuitry and including one or more nonvolatile memory devices organized into sectors, a sector including storage locations for a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the memory control circuitry for programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into a first sector of a first non-volatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second sector of a second nonvolatile memory device and for programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first sector of the first nonvolatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second sector of the second nonvolatile memory device,

wherein at least two sectors of information are written to at least two of the one or more non-volatile memory devices simultaneously.

5. A non-volatile memory system, as recited in claim 4 , wherein said non-volatile memory unit includes one or more flash memory chips.

6. A non-volatile memory system, as recited in claim 4 , wherein the at least one of the plurality of sectors of information is an even sector of information and the at least another one of the plurality of sectors of information is an odd sector of information.

7. A non-volatile memory system comprising:

memory control circuitry; and

a non-volatile memory unit coupled to the memory control circuitry and including one or more nonvolatile memory devices organized into a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the memory control circuitry for programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into a first non-volatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second nonvolatile memory device and for programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first nonvolatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second nonvolatile memory device,

wherein at least two sectors of information are programmed to at least two of the one or more non-volatile memory devices simultaneously.

8. A non-volatile memory system, as recited in claim 7 , wherein said non-volatile memory unit includes one or more flash memory chips.

9. A non-volatile memory system, as recited in claim 7 , wherein said non-volatile memory unit is organized into sectors, a sector including storage locations for a plurality of sectors of information.

10. A non-volatile memory system comprising:

memory control circuitry; and

a non-volatile memory unit coupled to the memory control circuitry and including one or more nonvolatile memory devices organized into a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the memory control circuitry for programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into a first non-volatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second nonvolatile memory device and for programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first nonvolatile memory device and for programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second nonvolatile memory device,

wherein at least two sectors of information are written to at least two of the one or more non-volatile memory devices simultaneously.

11. A non-volatile memory system, as recited in claim 10 , wherein said non-volatile memory unit is organized into sectors, a sector including storage locations for a plurality of sectors of information.

12. A non-volatile memory system, as recited in claim 10 , wherein said non-volatile memory unit includes one or more flash memory chips.

13. A non-volatile memory system comprising:

memory control circuitry; and

a non-volatile memory unit coupled to the memory control circuitry and organized into sectors, a sector including storage locations for a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the memory control circuitry for programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into a first sector and programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second sector of and for programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first sector and for programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second sector,

wherein at least two sectors of information are programmed simultaneously.

14. A non-volatile memory system, as recited in claim 13 , wherein said non-volatile memory unit is organized into sectors, a sector including storage locations for a plurality of sectors of information.

15. A non-volatile memory system, as recited in claim 13 , wherein said non-volatile memory unit includes one or more flash memory chips.

16. A non-volatile memory system comprising:

memory control circuitry; and

a non-volatile memory unit coupled to the memory control circuitry and organized into sectors, a sector including storage locations for a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the memory control circuitry for programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into a first sector and for programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second sector of and for programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first sector and for programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second sector,

wherein at least two sectors of information are written simultaneously.

17. A non-volatile memory system, as recited in claim 16 , wherein said non-volatile memory unit includes one or more flash memory chips.

18. A method for programming a plurality of sectors of information into at least two nonvolatile memory devices organized into sectors of a non-volatile memory unit, a sector of information including user data and overhead, each sector including storage locations for a plurality of sectors of information, the method comprising:

programming even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into a first sector of first nonvolatile memory device;

programming even user data bytes and even overhead bytes of the at least another one of the plurality of sectors of information into the first sector of the first non-volatile memory device;

programming odd user data bytes and odd overhead bytes of the at least one of the plurality of sectors of information into a second sector of a second non-volatile memory device; and

programming odd user data bytes and odd overhead bytes of the at least another one of the plurality of sectors of information into the second sector of the second non-volatile memory device,

wherein programming at least two sectors of information into at least two of the one or more non-volatile memory devices simultaneously.

19. A method for programming, as recited in claim 18 , wherein said non-volatile memory unit including one or more flash memory chips.

20. A method for writing a plurality of sectors of information into at least two non-volatile memory devices organized into sectors of a non-volatile memory unit, a sector of information including user data and overhead, each sector including storage locations for a plurality of sectors of information, the method comprising:

programming even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into a first sector of first nonvolatile memory device;

programming even user data bytes and even overhead bytes of the at least another one of the plurality of sectors of information into the first sector of the first non-volatile memory device;

programming odd user data bytes and odd overhead bytes of the at least one of the plurality of sectors of information into a second sector of a second non-volatile memory device; and

programming odd user data bytes and odd overhead bytes of the at least another one of the plurality of sectors of information into the second sector of the second non-volatile memory device,

wherein writing at least two sectors of information into at least two of the one or more non-volatile memory devices simultaneously.

21. A method for writing, as recited in claim 20 , wherein said non-volatile memory unit including one or more flash memory chips.

22. A non-volatile memory system comprising:

memory control circuitry; and

a non-volatile memory unit coupled to the memory control circuitry including a plurality of rows, each row including one or more row-portions, each row-portion including storage locations for a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the memory control circuitry for programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into the first row-portion and for programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second row-portion and for programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first row-portion and for programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second row-portion,

wherein two or more sectors of information are programmed to a row simultaneously.

23. A non-volatile memory system, as recited in claim 22 , wherein said non-volatile memory unit is organized into sectors, a sector including storage locations for a plurality of sectors of information.

24. A non-volatile memory system, as recited in claim 22 , wherein said non-volatile memory unit includes one or more flash memory chips.

25. method for programming a plurality of sectors of information into a non-volatile memory unit including a plurality of rows, each row including one or more row-portions, each row-portion including storage locations for a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the method comprising:

programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into the first row-portion;

programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second row-portion;

programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first row-portion; and

programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second row-portion,

wherein two or more sectors of information are programmed to a row simultaneously.

26. A method for programming, as recited in claim 25 , wherein said non-volatile memory unit including one or more flash memory chips.

27. A method for programming, as recited in claim 25 , wherein said non-volatile memory unit is organized into sectors, a sector including storage locations for a plurality of sectors of information.

28. A method for writing a plurality of sectors of information into a non-volatile memory unit including a plurality of rows, each row including one or more row-portions, each row-portion including storage locations for a plurality of sectors of information, a sector of information including user data and overhead, user data of a sector of information including even user data bytes and odd user data bytes and overhead of a sector of information including even overhead bytes and odd overhead bytes, the method comprising:

programming of even user data bytes and even overhead bytes of at least one of a plurality of sectors of information into the first row-portion;

programming the odd user data bytes and the odd overhead bytes of the at least one of the plurality of sectors of information into a second row-portion;

programming even user data bytes and even overhead bytes of at least another one of the plurality of sectors of information into the first row-portion; and

programming the odd user data bytes and the odd overhead bytes of the at least another one of the plurality of sectors of information into the second row-portion,

wherein the speed of performing write operation is increased by writing two or more sectors of information to a row simultaneously.

29. A method for writing, as recited in claim 28 , wherein said non-volatile memory unit including one or more flash memory chips.

30. A method for writing, as recited in claim 28 , wherein said non-volatile memory unit is organized into sectors, a sector including storage locations for a plurality of sectors of information.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050937/0001 →
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047243/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jun 8, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 043079/0001 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2016
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 038954/0001 →
SECURITY INTEREST Recorded May 12, 2016
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038669/0001 →
MERGER Recorded Jun 11, 2013
From: LEXAR MEDIA, INC.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 030588/0368 →
MERGER Recorded Mar 25, 2011
From: LEXAR MEDIA, INC.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 026024/0131 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2006
From: ESTAKHRI, PETRO; IMAN, BERHANU
To: LEXAR MEDIA, INC.
Reel/Frame 017792/0418 →