IP Library Granted Patent US 8,510,497
Granted Patent B2
US 8,510,497 · App. 12/511,991 · Granted Aug 13, 2013

Flash storage device with flexible data format

Inventors: Mark Moshayedi (Newport Coast, CA); Seyed Jalal Sadr (Irvine, CA)
Assignee: STEC, Inc.
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 8,510,497
App. No.
12/511,991
Granted
Aug 13, 2013
Kind
B2
Abstract

A flash storage device includes a flash storage for storing data and a controller for receiving a command containing data and selecting a sector size for the data. The controller allocates the data among data sectors having the sector size and writes the data sectors to the flash storage. In some embodiments, the controller generates system data and stores the system data in the data sectors or a system sector, or both.

Claims (60)

1. A flash storage device, comprising:

a flash storage; and

a controller configured to:

receive a command comprising data,

select a sector size, allocate the data among a plurality of sectors comprising a plurality of data sectors each having the sector size, and

write the plurality of data sectors to the flash storage.

2. The flash storage device of claim 1 , wherein the controller is further configured to select the sector size based on an input to the flash storage device.

3. The flash storage device of claim 1 , wherein the controller is further configured to select the sector size based on the command.

4. The flash storage device of claim 1 , wherein the flash storage comprises a plurality of storage blocks each having a block size being an integer multiple of the sector size.

5. The flash storage device of claim 1 , wherein the flash storage comprises a plurality of storage blocks and the controller is further configured to write the data sectors to more than one storage block of the plurality of storage blocks.

6. The flash storage device of claim 5 , wherein the controller is further configured to write a first portion of a first data sector of the data sectors to a first storage block of the plurality of storage blocks and a second portion of the first data sector to a second storage block of the plurality of storage blocks.

7. The flash storage device of claim 1 , wherein at least one data sector of the plurality of data sectors comprises user data.

8. The flash storage device of claim 7 , wherein at least one data sector of the plurality of data sectors comprises system data.

9. The flash storage device of claim 8 , wherein the system data comprises an error correction code.

10. The flash storage device of claim 8 , wherein the system data comprises a logical block address.

11. The flash storage device of claim 8 , wherein the system data comprises an error correction code and a logical block address.

12. The flash storage device of claim 8 , wherein the system data comprises a time stamp.

13. The flash storage device of claim 8 , wherein the system data comprises a time stamp and an error correction code.

14. The flash storage device of claim 8 , wherein the system data comprises a time stamp and a logical block address.

15. The flash storage device of claim 8 , wherein the system data comprises a time stamp, an error correction code, and a logical block address.

16. The flash storage device of claim 7 , wherein the plurality of sectors comprises a system sector comprising system data.

17. The flash storage device of claim 16 , wherein the system data comprises an error correction code.

18. The flash storage device of claim 16 , wherein the system data comprises a logical block address.

19. The flash storage device of claim 16 , wherein the system data comprises an error correction code and a logical block address.

20. The flash storage device of claim 16 , wherein the system data comprises a time stamp.

21. The flash storage device of claim 16 , wherein the system data comprises a time stamp and an error correction code.

22. The flash storage device of claim 16 , wherein the system data comprises a time stamp and a logical block address.

23. The flash storage device of claim 16 , wherein the system data comprises a time stamp, an error correction code, and a logical block address.

24. The flash storage device of claim 8 , wherein the plurality of sectors comprises a system sector comprising system data.

25. The flash storage device of claim 24 , wherein the system data of at least one data sector of the plurality of data sectors comprises an error correction code and the system data of the system sector comprises a logical block address.

26. The flash storage device of claim 24 , wherein the system data of at least one data sector of the plurality of data sectors comprises a logical block address and the system data of the system sector comprises an error correction code.

27. A flash storage device, comprising:

a flash storage; and

a controller configured to:

receive a command comprising data,

select a sector size,

allocate the data among a plurality of sectors comprising at least one data sector and a system sector, each data sector of the at least one data sector having the sector size, and

write the at least one data sector to the flash storage.

28. The flash storage device of claim 27 , wherein the at least one data sector comprises user data and the system sector comprises system data.

29. The flash storage device of claim 28 , wherein the least one data sector comprises system data.

30. The flash storage device of claim 29 , wherein the system data of at least one data sector of the at least one data sector comprises an error correction code and the system data of the system sector comprises a logical block address.

31. The flash storage device of claim 30 , wherein the system data of the at least one data sector comprises a time stamp.

32. The flash storage device of claim 30 , wherein the system data of the system sector comprises a time stamp.

33. The flash storage device of claim 29 , wherein the system data of the at least one data sector comprises a logical block address and the system data of the system sector comprises an error correction code.

34. The flash storage device of claim 33 , wherein the system data of the at least one data sector comprises a time stamp.

35. The flash storage device of claim 33 , wherein the system data of the system sector comprises a time stamp.

36. The flash storage device of claim 27 , wherein the flash storage comprises a plurality of storage blocks and the controller is further configured to write the at least one data sector to more than one storage block of the plurality of storage blocks.

37. The flash storage device of claim 36 , wherein the controller is further configured to write a first portion of a first data sector of the at least one data sector to a first storage block of the plurality of storage blocks and a second portion of the first data sector to a second storage block of the plurality of storage blocks.

38. A method of transferring data in the flash storage device comprising a flash storage, the method comprising:

receiving a command comprising data;

identifying a storage block in the flash storage based on the command;

selecting a sector size;

allocating the data among a plurality of sectors comprising a plurality of data sectors each having the sector size; and

writing the data sectors to the storage block.

39. The method of claim 38 , wherein at least one data sector of the plurality of data sectors comprises user data and system data.

40. The method of claim 38 , wherein the plurality of sectors comprises a system sector.

41. The method of claim 40 , wherein at least one data sector of the plurality of sectors comprises user data and the system sector comprises system data.

42. The method of claim 41 , wherein at least one data sector of the plurality of data sectors comprises system data.

43. The method of claim 38 , wherein writing the data sectors to the storage block comprises writing the data sectors to more than one storage block.

44. The method of claim 43 , where writing the data sectors to more than one storage block comprises writing a first portion of a first data sector of the data sectors to a first storage block and writing a second portion of the first data sector to a second storage block.

Assignments (13)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2018
From: HGST TECHNOLOGIES SANTA ANA, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 046174/0446 →
CHANGE OF NAME Recorded Jul 1, 2015
From: STEC, INC.
To: HGST TECHNOLOGIES SANTA ANA, INC.
Reel/Frame 036042/0390 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2013
From: SADR, SEYED JALAL
To: STEC, INC.
Reel/Frame 029809/0157 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2009
From: MOSHAYEDI, MARK
To: STEC, INC.
Reel/Frame 023341/0864 →
Continuity (1)
Related Publication 20110029717A1 · Feb 3, 2011