SAMSUNG ELECTRONICS CO., LTD.Download PDFPatent Trials and Appeals BoardJun 25, 20212020000894 (P.T.A.B. Jun. 25, 2021) Copy Citation UNITED STATES PATENT AND TRADEMARK OFFICE UNITED STATES DEPARTMENT OF COMMERCE United States Patent and Trademark Office Address: COMMISSIONER FOR PATENTS P.O. Box 1450 Alexandria, Virginia 22313-1450 www.uspto.gov APPLICATION NO. FILING DATE FIRST NAMED INVENTOR ATTORNEY DOCKET NO. CONFIRMATION NO. 15/061,873 03/04/2016 Byoung Young AHN SSIM00009 US 8832 136129 7590 06/25/2021 Innovation Counsel LLP 2880 Zanker Road Suite 201 San Jose, CA 95134 EXAMINER KNIGHT, PAUL M ART UNIT PAPER NUMBER 2139 NOTIFICATION DATE DELIVERY MODE 06/25/2021 ELECTRONIC Please find below and/or attached an Office communication concerning this application or proceeding. The time period for reply, if any, is set in the attached communication. Notice of the Office communication was sent electronically on above-indicated "Notification Date" to the following e-mail address(es): docket@innovationcounsel.com PTOL-90A (Rev. 04/07) UNITED STATES PATENT AND TRADEMARK OFFICE ________________ BEFORE THE PATENT TRIAL AND APPEAL BOARD ________________ Ex parte BYOUNG YOUNG AHN, YANG SEOK KI, and INSEOK STEPHEN CHOI Appeal 2020-000894 Application 15/061,873 Technology Center 2100 ________________ Before JOHN P. PINKERTON, JASON J. CHUNG, and BETH Z. SHAW, Administrative Patent Judges. CHUNG, Administrative Patent Judge. DECISION ON APPEAL Pursuant to 35 U.S.C. § 134(a), Appellant1 appeals the Final Rejection of claims 1–19.2 We have jurisdiction under 35 U.S.C. § 6(b). We AFFIRM. INVENTION The invention relates generally to storage devices and, more particularly, to a storage device including a key-value integrated translation 1 We use the word “Appellant” to refer to “applicant” as defined in 37 C.F.R. § 1.42. According to Appellant, Samsung Electronics Co., Ltd. is the real party in interest. Appeal Br. 3. 2 The Examiner withdrew the § 101 rejection of claims 1–19. Ans. 3. Appeal 2020-000894 Application 15/061,873 2 layer. Spec. ¶ 2. Claim 1 is illustrative of the subject matter on appeal and is reproduced below: 1. A storage device comprising: a computer readable memory; a non-volatile memory; and a memory controller including a host interface for interfacing with a host system and a memory interface for interfacing with the non-volatile memory, wherein a query received from the host system over the host interface includes a key of a key-value data that is stored in the non-volatile memory, wherein the memory controller further includes a key-value translation layer including a table indexer tree, one or more mapper tables, and one or more location mappers, wherein the table indexer tree contains first mapping information for translating the key received over the host interface to an index, wherein the one or more mapper tables contain second mapping information for obtaining a location of a location mapper that contains an entry associated with the index, and wherein the location mapper contains an address of the key-value data or the key-value data associated with the entry in the non-volatile memory. Appeal Br. 56 (Claims Appendix). REJECTIONS Claims 1–3, 5–10, 12–15, and 17–19 are rejected under 35 U.S.C. §103 as being unpatentable over Pundir (US 2016/0077744 A1, pub. March 17, 2016) in view of Marmol et al., NVMKV: A Scalable, Lightweight, FTLaware Key-Value Store, USENIX Annual Technical Conference July 8– 10, 2015). Final Act. 5–12. Appeal 2020-000894 Application 15/061,873 3 Claims 4, 11, and 16 are rejected under 35 U.S.C. § 103 as being unpatentable over Pundir and Marmol in further view of Boyle (US 8,412,881 B2, iss. Apr. 2, 2003). Final Act. 13–14. ANALYSIS Claim 1 Rejected Under 35 U.S.C. § 103 A. The combination of Pundir and Marmol teaches the limitation “a key of a key-value data that is stored in the non-volatile memory” The Examiner finds that Marmol teaches Key-value (KV) stores that employ a first layer to translate keys to Logical Block Addresses (LBAs) and a second layer to translate the LBAs to physical locations in flash devices, which teaches the limitation “a key of a key-value data.” Final Act. 5–6; Ans. 9–10 (citing Marmol § 3.1, second paragraph; § 5.1, first and fourth paragraphs; § 5.3, last paragraph). The Examiner determines that whether or not Pundir teaches a key is moot because Marmol teaches a key that falls within Appellant’s desired scope for the term. Ans. 10. The Examiner concludes that a person of ordinary skill of art would have been motived to combine Marmol with Pundir’s three level data structure that maps an LBA to physical block address (PBA) to achieve the claimed key value translation layer to translate between a key and a PBA, because key- value stores are ubiquitous in high performance data-intensive, scale out and NoSQL environment and many KV stores are used in flash devices to meet performance requirements. Final Act. 6–7; Ans. 9–10 (citing Marmol, Abstract). Appellant argues that Pundir’s logical unit number identifier (LUN ID) or Logical Block Address (LBA) is not, and cannot be interpreted as the claimed “key” of a key-value pair because the claimed storage device stores Appeal 2020-000894 Application 15/061,873 4 and manages data records in a format of a data pair consisting of a key and a corresponding value, while Pundir’s storage device merely stores data in data blocks and accesses and retrieves the stored data based on its block address. Appeal Br. 36–37 (citing Pundir ¶¶ 33, 39, 41). According to Appellant, the stored data in Pundir does not include its own data address (LUN ID or LBA) as a pair of the data address itself and the associated data. Appeal Br. 37. Appellant also argues that Marmol’s mapping of a key to an LBA does not transform Pundir’s input such as LBA or LUN ID into the claimed key because Marmol teaches the key is a distinct entity that must be translated into an LBA. Id. at 36. We disagree with Appellant. At the outset, Appellant’s arguments in the preceding paragraph are not persuasive because the Examiner relies on Marmol to teach the limitation “a key of a key-value data that is stored in the non-volatile memory.” In particular, the cited portion of Marmol teaches KV stores (i.e., this teaches Key-value database) employ a first layer to translate keys (i.e., this teaches key) to LBA and a second layer to translate the LBAs to physical locations in flash devices (i.e., this teaches the non-volatile memory), which teaches the limitation “a key of a key-value data that is stored in the non-volatile memory.” Final Act. 5–6; Ans. 9–10 (citing Marmol § 3.1, second paragraph; § 5.1, first and fourth paragraphs; § 5.3, last paragraph). Furthermore, Marmol teaches “[m]ultiple KV stores on a single flash device” and “the KV value pairs store in the flash device,” which explicitly teaches the limitation “a key of a key-value data that is stored in the non-volatile memory” recited in claim 1. See Marmol § 3.1, second paragraph and § 5.1, fifth paragraph. We agree with the Examiner Appeal 2020-000894 Application 15/061,873 5 that whether Pundir teaches a key is moot because Marmol teaches a key that falls within the scope of the claimed limitation. Ans. 10. Appellant presents for the first time in the Reply Brief arguments against the rejection of claim 1. Reply Br. 3–4. Appellant has not shown good cause for raising these new arguments, and we decline to consider an argument raised for the first time in the Reply Brief, because the Examiner has not been provided a chance to respond. See 37 C.F.R. § 41.41(b)(2) (2018). In particular, Appellant argues that even if Marmol teaches a key, the combination of Marmol and Pundir still fails to teach the limitation “a query received from the host system over the host interface includes a key of a key-value data that is stored in non-volatile memory.” Reply Br. 10. According to Appellant, it would be impossible to reasonably combine Pundir with Marmo because Pundir does not contain any concept of a “key” of a key value data received from the host system as a part of query, and therefore the two disparate systems of Pundir and Marmol work in completely different ways from the beginning of a query process. Id. 10–11. Nonetheless, Appellant’s arguments above have ignored the combined teachings and suggestions of Pundir and Marmol. Specifically, we find no error with the Examiner’s determination that an ordinarily skilled artisan would have had sufficient motivation to apply the teachings of Pundir—a query received from the host system over the host interface including LUN or LBA (see Final Act. 5–6)—to the teachings of Marmol—a key of a key- value data that is stored in non-volatile memory and translate the key to the LBA (id. at 6–7) collectively to arrive at the limitation “a query received Appeal 2020-000894 Application 15/061,873 6 from the host system over the host interface includes a key of a key-value data that is stored in non-volatile memory” recited in claim 1. We agree with the Examiner’s that a person of ordinary skill of art would have been motived to combine Marmol with Pundir’s three level data structure that maps an LBA to physical block address (PBA) to achieve the claimed key value translation layer to translate between a key and a PBA, because key-value stores are ubiquitous in high performance data-intensive, scale out and NoSQL environment and many KV stores are used in flash devices to meet performance requirements. Final Act. 6–7; Ans. 9–10 (citing Marmol Abstract). The combination involves the predictable use of prior art elements according to their established functions. The Supreme Court has held that in analyzing the obviousness of combining elements, a court need not find specific teachings, but rather may consider “the background knowledge possessed by a person having ordinary skill in the art” and “the inferences and creative steps that a person of ordinary skill in the art would employ.” KSR Int’l Co. v. Teleflex Inc., 550 U.S. 398, 418(2007). To be nonobvious, an improvement must be “more than the predictable use of prior art elements according to their established functions,” id. at 417, and the basis for an obviousness rejection must include an “articulated reasoning with some rational underpinning to support the legal conclusion of obviousness.” Id. at 418 (citation omitted). Here, the Examiner has provided a sufficient rationale for the combination, which is to use key-value stores to meet performance requirements in a high performance data-intensive, scale out and NoSQL environment. Final Act. 6–7 (citing Marmol, Abstract). Accordingly, we find that the Examiner provides sufficient motivation for combining the teachings of Pundir with the teachings of Marmol. Appeal 2020-000894 Application 15/061,873 7 Moreover, Appellant does not provide persuasive evidence that combining the respective teachings of the references (as proffered by the Examiner – Final Act. 6–7) would have been “uniquely challenging or difficult for one of ordinary skill in the art,” or that such a combination would have “represented an unobvious step over the prior art.” Leapfrog Enters., Inc. v. Fisher-Price, Inc., 485 F.3d at 1162. Nor does Appellant provide any objective evidence of secondary considerations, which, as our reviewing court explains, “operate[] as a beneficial check on hindsight.” Cheese Systems, Inc. v. Tetra Pak Cheese and Powder Systems, Inc., 725 F.3d at 1352. Accordingly, Appellant does not persuade us of error in the Examiner’s conclusion that a person having of ordinary skill in the art at the time of the invention would have combined Marmol with Pundir to teach the limitation “a key of a key-value data that is stored in the non-volatile memory” recited in claim 1. B. The combination of Pundir and Marmol teaches the claimed storage device and Pundir performs Key-to address mapping in the storage device The Examiner finds that Pundir teaches a storage controller and a storage I/O stack including a three-level mapping dense tree operate on a node to access information requested by a host, and Marmol teaches a key is sent to Flash Translation Layers (FTLs), and the combination of Pundir and Marmol teaches the limitation “[a] storage device comprising: . . . the memory controller includes a key-value translation layer.” Final Act. 5–8; Ans. 10–11 (citing Pundir ¶¶ 34, 55 and Marmol § 3.1, second paragraph; § 5.1, first and fourth paragraphs; § 5.3, last paragraph). The Examiner determines that Marmol teaches the key being sent to FTLs (FTL is the software layer run in the controller and drives some logic to physical Appeal 2020-000894 Application 15/061,873 8 mapping) and the dense tree of Pundir performs the operation of FTL, the combination of Pundir and Marmol teaches the key-translation mapping occurred in the memory controller. Id. at 12. The Examiner further concludes that modifying the type of key taught in Pundir based on the teaching of Marmol does not require moving the memory management software FTL to the location used in Marmol. Id. Appellant argues that Pundir and Marmol do not teach the claimed storage device because both Pundir and Marmol perform their key-to- address mapping at locations outsides of the storage device. Appeal Br. 43. According to Appellant, the block-based storage devices disclosed in Pundir and Marmol are fundamentally different from the claimed storage device because the Examiner finds that Pundir’s storage device does not store data as a key-value pair. Id. at 38 (citing Final Act. 8). Appellant also argues that even if Pundir’s system disclose key-value pairs, Pundir failed to teach the claimed storage device that stores data in as a key-value pair because the key-value pairs are stored and maintained in a cluster database separately and independently from the storage controller. Id. In addition, Appellant argues that Pundir fails to teach the claimed storage device because the claim subject matter entirely eliminates “double mapping” scheme (i.e., key-value pairs to LBAs on the host, and LBAs to PBAs on the storage device) using the claimed key-value translation layer that provides improvements in term of efficiency and the size of conventional “double mapping” schemes such as Pundir. Id. Appellant further argues Marmol does not cure the deficiencies of Pundir because Marmol’s host system uses a block-based address scheme to access the Appeal 2020-000894 Application 15/061,873 9 block based flash device by perform all the computation and translation in the host system. Id. at 39–43. We disagree with Appellant. Pundir teaches a storage controller and a storage I/O stack (i.e., this teaches a memory controller) including a three-level mapping dense tree (i.e., this teaches translation layer) operates on a node (i.e., storage device) to access information requested by a host. Final Act. 5–8; Ans. 10–11 (citing Pundir ¶¶ 34, 55); see also Pundir ¶ 32 (“FIG. 2 is a block diagram of node 200 that is illustratively embodied as a storage system” (emphasis added)). The cited portion of Marmol teaches a key is sent to FTLs. Final Act. 6–7; Ans. 10–11 (citing Marmol § 5.1, first paragraph). Appellant’s arguments above have ignored the combined teachings and suggestions of Pundir and Marmol. Specifically, we find no error with the Examiner’s finding that an ordinarily skilled artisan would have had sufficient motivation to apply the teachings of Pundir—a storage device comprises a memory controller with a translation layer (see Final Act. 5– 8)—to the teachings of Marmol—a key-translation layer (id. at 6–7) collectively to arrive at the limitation “[a] storage device comprising: . . . the memory controller further includes a key-value translation layer” recited in claim 1. We also agree with the Examiner’s conclusion that the combination of Pundir and Marmol teaches the key-translation mapping occurred in the memory controller and modifying the type of key taught in Pundir based on the teaching of Marmol does not require moving the memory management software FTL to the location used in Marmol. Id. at 12. Pundir discloses the node 200 is a storage system (i.e., this teaches a storage device) and a storage I/O stack with a three-level mapping dense tree operates on the node Appeal 2020-000894 Application 15/061,873 10 200, which explicitly teach to perform translation mapping inside the storage device. See Pundir ¶¶ 32, 54–55 (emphasis added). We disagree with Appellant’s argument that because Pundir does not entirely eliminate the “double mapping” scheme, Pundir fails to teaches the claimed storage device. Appeal Br. 38–39. “[A]ppellant’s arguments fail from the outset because . . . they are not based on limitations appearing in the claims.” See In re Self, 671 F.2d at 1348 (CCPA 1982). In this case, the phrase “eliminate the double mapping scheme” is not recited in claim 1. Therefore, Appellant does not persuade us of error in the Examiner’s conclusion that the combination of Pundir and Marmol teaches the limitation “[a] storage device comprising: . . . the memory controller . . . includes a key-value translation layer” recited in claim 1. C. Appellant’s arguments pertaining to caching and eliminating double mapping are misplaced because these features are not recited in the claims Appellant argues that the combination of Pundir and Marmol does not teach the three layer index structure as claimed because the traditional block- based protocols in Pundir and Marmol require double mapping that involves translation from a key to an LBA, and a translation from the LBA to a PBA. Appeal Br. 44 (citing Final Act. 8). According to Appellant, the claimed “three-layer index structure” eliminates at least a second mapping for the block-to-block translation (i.e., from LBAs to PBAs) as required by conventional block-based protocols because the claimed storage device can directly receive “a query” including “a key of a key-value data” from the host system over the host interface bypassing at least the block-to-block translations from LBAs to PBAs. Appeal Br. 44 (citing Spec. Fig. 3). Appellant also argues, in comparison to “an LBA space” that has a limitation of a physical storage, a “key Space” employed by the claimed three-layer Appeal 2020-000894 Application 15/061,873 11 index structure does not have the limitation of the physical storage capacity because the Specification recites “[d]ue to the limited size of the memory of the storage device, a tree index can be split into smaller sized subtrees, and those subtrees may be dynamically loaded (cached) in the memory of the memory controller.” Id. (citing Spec. ¶¶ 40–44). We disagree with Appellant. We agree with the Examiner that cacheability is not recited in the claim. Ans. 13. In addition, we disagree with Appellant’s argument that because Pundir and Marmol require double mapping scheme including a second mapping for the block-to-block translation, the combination of Pundir and Marmol fails to teach the claimed “three-layer index structure.” Appeal Br. 38–39. “[A]ppellant’s arguments fail from the outset because . . . they are not based on limitations appearing in the claims.” See In re Self, 671 F.2d at 1348 (CCPA 1982). In this case, “eliminate at least the second mapping for the block-to-block translation” is not recited in claim 1. Accordingly, Appellant does not persuade us of error in the Examiner’s conclusion that the combination of Pundir and Marmol teaches the three layer index structure as claimed. D. Pundir teaches the limitation “a table indexer tree, one or more mapper tables, and one or more location mappers” The Examiner finds Pundir’s level 0 of the dense tree structure contains information for translating the received data to an index, which teaches the limitation “the table indexer tree contains first mapping information for translating the key received over the host interface to an index” recited in claim 1. Final Act. 8; Ans. 14 (citing Pundir ¶ 55). The Examiner also finds Pundir’s level 1 of the dense tree structure points to level 2 of the dense tree structure, which teaches the limitation “the one or Appeal 2020-000894 Application 15/061,873 12 more mapper tables contain second mapping information for obtaining a location of a location mapper that contains an entry associated with the index” recited in claim 1. Final Act. 8; Ans.14 (citing Pundir ¶ 64). In addition, the Examiner finds Pundir’s level 2 of the dense tree structures contains data entries that include an address called data entry, which teaches the limitation “the location mapper contains an address of the key-value data or the key-value data associated with the entry in the non-violate memory” recited in claim 1. Final Act. 8; Ans. 14 (citing Pundir ¶¶ 61, 64). The Examiner concludes that Pundir teaches the claimed three level key valued structure because all three levels of the recited “key-value translation layer” read on the three levels of the dense tree structure of Pundir. Ans. 5. Appellant argues that the combination of Pundir and Marmol fails to teach or suggest the claimed key-value translation layer including “a table indexer tree, one or more mapper tables, and one or more location mappers” because the Examiner merely recites a single tree (such as the multi-level dense tree) and fails to explain how each level of the multi-level dense tree respectively corresponds to the claimed “table indexer tree,” “one or more mapper tables,” and “one or more location mappers.” Appeal Br. 45–46. According to Appellant, the plain meaning of the term “table” is “an arrangement of data in rows and columns,” and the plain meaning of “tree” is a “data type that simulates a hierarchical tree structure, with a root value and subtrees of children with a parent node, represented as a set of linked nodes” in accordance with Wikipedia and these Wikipedia definitions are consistent with the Specification. Reply Br. 5–6 (citing Spec. ¶¶ 9–10, 43– Appeal 2020-000894 Application 15/061,873 13 44, 55).3 Appellant argues Pundir does not teach key-value translation layer because the claimed “table indexer tree” and “mapper tables” are structurally different from those provided in Pundir based on the plain meanings of the claim terms “tree” and “table.” Reply Br. 5–8, 18–19. In particular, Appellant argues that Pundir’s multiple levels of nodes in a single tree structure are not, and cannot be read onto, the claimed “mapper table” because a tree (or nodes of a tree) is not a table. Id. at 6. We disagree with Appellant. Pundir teaches level 0 of the dense tree structure contains information for translating the received data to an index, which teaches the limitation “the table indexer tree contains first mapping information for translating the key received over the host interface to an index” recited in claim 1. Final Act. 8; Ans. 14 (citing Pundir ¶ 55). Pundir also teaches level 1 of the dense tree structure points (i.e., this teaches mapping) to level 2 of the dense tree structure (i.e., this teaches a location of a location mapper), which teaches the limitation “the one or more mapper tables contain second mapping information for obtaining a location of a location mapper that contains an entry associated with the index” recited in claim 1. Final Act. 8; Ans. 14 (citing Pundir ¶ 64). In addition, Pundir teaches level 2 of the dense tree structures contains data entries that includes address called data entry (i.e., 3 We determine that Appellant’s argument in the Reply Brief pertaining to the plain meaning of the term “table” and “tree” being executed sequentially is permissible because the Examiner clarifies the table indexer tree, the mapper table, and the location mapper in Pundir for the first time in the Answer. Compare Ans. 13–14 (the Examiner clarifies the table indexer tree, the mapper table, and the location mapper in Pundir), with Final Act. 7–9 (lacking clarification of the table indexer tree, the mapper table, and the location mapper). Appeal 2020-000894 Application 15/061,873 14 this teaches address associated with the entry), which teaches the limitation “the location mapper contains an address of the key-value data or the key- value data associated with the entry in the non-volatile memory” recited in claim 1. Final Act. 8; Ans. 14 (citing Pundir ¶¶ 61, 64). We agree with the Examiner’s finding that Pundir teaches the claimed three level key value structure because all three levels of the recited “key-value translation layer” read on the three levels of the dense tree structure of Pundir. Ans. 5. We also note that paragraph 65 of Pundir teaches “the top level (level 0) of the dense tree 700 is maintained in-core as a balanced tree.” See Pundir ¶ 65. Further, Figure 7 of Pundir teaches level 1 of the dense tree structure includes a five-column one row table, which teaches the limitation “mapper tables.” See Pundir Figure 7. Accordingly, Appellant does not persuade us of error in the Examiner’s findings that the Pundir teaches “table indexer tree,” “one or more mapper tables,” and “one or more location mappers” as recited in claim 1. Appellant does not argue claims 2–19 separately with particularity. Therefore, we sustain the Examiner’s rejection of: (1) independent claims 1, 8 and 13; and (2) dependent claims 2–7, 9-12, 14–19 under 35 U.S.C. § 103. We have only considered those arguments that Appellant actually raised in the Briefs. Arguments Appellant could have made, but chose not to make, in the Briefs have not been considered and are deemed to be waived. See 37 C.F.R. § 41.37(c)(1)(iv). CONCLUSION The Examiner’s rejections for claims 1–19 is Affirmed. Appeal 2020-000894 Application 15/061,873 15 DECISION SUMMARY In summary: TIME PERIOD FOR RESPONSE No time period for taking any subsequent action in connection with this appeal may be extended under 37 C.F.R. § 1.136(a)(1)(iv). See 37 C.F.R. § 1.136(a)(1)(iv). AFFIRMED Claim(s) Rejected 35 U.S.C. § Reference(s)/Basis Affirmed Reversed 1–3, 5–10, 12–15, 17– 19 103 Pundir, Marmol 1–3, 5–10, 12–15, 17– 19 4, 11, 16 103 Pundir, Marmol, Boyle 4, 11, 16 Overall Outcome 1–19 Copy with citationCopy as parenthetical citation